PHILADELPHIA -- The Toronto Blue Jays aren't hitting for a high average this season. When they connect, though, the ball often travels a long way.
The Blue Jays, who entered batting an AL-worst .239, upped their major league-leading home run total to 114. Only the Houston Astros (.237) began the day with a lower batting average than Toronto.
"They obviously don't have the highest batting average, but when they hit the ball it goes out of the yard," Philadelphia left-hander Cole Hamels said. "That's their game."
The Blue Jays' offense got a lift from Shaun Marcum. The right-hander pitched six solid innings, allowing one run and five hits while striking out six and walking one.
Marcum (7-3) 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.
"Marcum pitched a great game against a real good ballclub," Blue Jays manager Cito Gaston said. "He had a real good change and breaking ball and kept them off balance."
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.
"I was just mixing and matching pitches, throwing changeups and keeping the ball down in the zone," Marcum said. "Getting five runs early was a big help. They have a great lineup and you've got to keep the ball down in this park."
The Phillies were particularly impressed with Marcum's changeup, which kept them off-balance all game.
"When we don't hit, you have to give the guy on the mound credit," Philadelphia manager Charlie Manuel said. "His stuff wasn't high-powered, but he was giving us fits with his changeup."
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.
"I wasn't feeling as in-sync as I possibly could," Hamels said. "This game, from the very beginning, was tough and I wasn't able to work through it. It's going to happen. You have to do better and I know I can do better."
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.
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.
It was Howard's 15th homer of the season and fifth in his last 10 games after hitting just two in his previous 21.
Manuel held 3B Placido Polanco out of the lineup as a precaution after Polanco's left elbow was sore following a dive in Friday night's game. Polanco missed six games from May 28 to June 3 with a bruised left elbow and inflammation. The elbow was originally hurt when Polanco was hit by Tim Hudson's fastball on April 21. Juan Castro replaced Polanco and went 0 for 3. ... Philadelphia OF Jayson Werth went 0 for 3 with three strikeouts and is 0 for 4 with four Ks lifetime against Marcum. ... Phillies OF Shane Victorino has four hits in his last 29 at-bats. ... Despite the appearance of hundreds of empty seats, the Phillies announced a sellout crowd of 44,426.