The resurgent and rebuilding Phillies won for the 11th time in 13 games since the All-Star break on a day they finalized a trade that sent 2008 World Series MVP Cole Hamels to Texas. Philadelphia also dealt Ben Revere to Toronto before the non-waiver trade deadline. Earlier in the week, the Phillies traded All-Star closer Jonathan Papelbon to Washington.
Buchanan (2-5) allowed three runs and eight hits in 7 1-3 innings after being called up from Triple-A Lehigh Valley to replace Hamels in the rotation.
Braves starter Williams Perez (4-1) gave up nine runs and nine hits in 4 1-3 innings.
Freddie Freeman hit his 100th career homer for Atlanta, which has lost five in a row.
Despite their recent turnaround, the Phillies (40-64) still have the worst record in the majors.
Howard hit a bases-clearing double in the first inning to give the Phillies a 3-0 lead. He scored on Freddy Galvis' sacrifice fly.
Brown connected off Perez in a five-run fifth for his second homer of the season. Brown has gone deep in two straight games for the first time since June 2-3, 2013, when he was in the middle of a stretch of 11 homers in 15 games.
Buchanan and Cesar Hernandez had RBI singles and Howard walked to force in the ninth run.
Freeman hit a two-run shot the opposite way to left field in the eighth.
Phillies: Chase Utley took batting practice and could begin a rehab assignment soon. The six-time All-Star second baseman has been on the disabled list with an ankle injury since late June.
RHP Matt Wisler (5-1, 3.43 ERA) takes the mound for Atlanta in the third of the four-game series on Saturday night. RHP Aaron Nola (1-1, 3.29 ERA) makes his third career start for the Phillies.