Shaun Marcum (7-3) pitched six solid innings, allowing one run and five hits while striking out six and walking one. The right-hander improved to 7-1 in nine starts following a Blue Jays defeat, the latest victory coming on the heels of Friday night's 9-0 loss to the Phillies and former Toronto ace Roy Halladay.
The game was the second in a series that was moved from Toronto to Philadelphia because of the G20 Summit. The Blue Jays wore their home, alternate black uniforms and batted second, while the Phillies wore their road grays.
Ryan Howard homered for the Phillies, who had won four straight and scored 28 runs in their previous three games. The Blue Jays had lost four of five.
In relief of Marcum, Scott Downs pitched two hitless innings and Shawn Camp worked a hitless ninth as the Phillies failed to get a hit in their last five innings.
Phils left-hander Cole Hamels (6-6) had one of his worst outings of the season, allowing five runs and six hits in four innings. Hamels hadn't given up more than three earned runs in nine straight starts. He pitched less than five innings only one other time, a June 1 start at Atlanta that was halted after two-thirds of an inning due to a rain delay.
The Blue Jays entered batting a major league-worst .201 against lefties, but had no problems with Hamels.
After Lyle Overbay singled, Buck homered to left to stake Toronto to a 2-0 second-inning lead. The Blue Jays tacked on a run in the next inning on Hill's two-out homer to left and added two more with Gonzalez's two-run shot in the fourth, also to left. Buck leads major league catchers with 13 homers.
Hill and Gonzalez had been 3 for 26 and 4 for 27, respectively, prior to their home runs.
Toronto upped its major league-leading home run total to 114.
Howard's sixth-inning homer provided all the offense for Philadelphia. He improved to 2 for 3 with a pair of home runs against Marcum.
Fan, follow and download: Get the latest from NBCPhiladelphia.com anytime, anywhere. Follow us on Twitter, Facebook and NBC Philadelphia. Sign up for our breaking news newsletter. And, get breaking news delivered right to your mobile phone -- just text PHIBREAKING to 639710 to sign up. (Message and data rates may apply.)