Vance Worley threw his the first complete game of his career last night, holding the Giants to two runs on three hits and a walk as the Phils pounded San Francisco for a 7-2 win.

The Phils are now 9-2 on the year in the 11 starts that Worley has made — that .818 winning percentage is the best for any of their starting pitchers. They are 17-4 (.810) when Halladay starts.

Worley hasn’t allowed more than two runs in any of his last seven starts. In those outings the Phils have gone 7-0 while Worley has thrown to a 1.14 ERA and opponents have hit .151 against him.

The bats have come alive for the Phillies in July. After scoring 3.69 runs a game in May and 3.78 runs a game in June, the Phils have scored 113 runs while going 14-6 so far in July. That’s about 5.65 runs per game.

The Phillies are 65-37 after beating the San Francisco Giants 7-2 last night.

Worley got the start for the Phillies and threw a complete game, allowing two runs on three hits and a walk. Two of the hits went for extra-bases, a double and a home run. He struck out five.

Andres Torres was the first batter of the game and hit a ball over Mayberry’s head and off the wall in right. Torres moved to third on a ground out by Jeff Keppinger and came home to score on Pablo Sandoval’s fly ball to left, putting the Giants up 1-0. Aubrey Huff flew to right for the third out.

Up 4-1, Worley set the Giants down in order in the second and again in the third.

Keppinger led off the fourth with a single. Sandoval popped to short for the first out and Huff flew to right for the second. Nate Schierholtz grounded to Utley to leave Keppinger stranded.

Worley had a 5-1 lead when he started the fifth. Cody Ross led off and hit a ground ball to third. Martinez fielded, but his throw to first was bad for an error. Worley left him stranded by striking out the next three hitters, getting Mike Fontenot, Eli Whiteside and pitcher Barry Zito all looking.

He threw a 1-2-3 sixth.

Up 6-1, he set the Giants down in order in the seventh.

He got the first two in the eighth before righty Aaron Rowand hit for the pitcher Zito. Rowand hit Worley’s first pitch out to left, cutting the Phillies lead to 6-2. Worley got Andres Torres on a ground ball to second for the third out.

Keppinger flew to center to start the ninth. Sandoval was next and drove a ball to left, but Ibanez made a nifty catch, timing his jump and crashing into the wall, for the second out. Worley walked Huff, then got Schierholtz to fly to right to end the game.

The Phillies lineup against lefty Barry Zito went (1) Rollins (2) Martinez (3) Utley (4) Howard (5) Victorino (6) Ibanez (7) Mayberry (8) Schneider. Tim Lincecum was supposed to start the game for the Giants, but was scratched due to the flu. Mayberry played right instead of Brown, who was in the lineup before Lincecum was scratched.

Rollins and Martinez both flew out to start the bottom of the first with the Phils down 1-0. Utley followed with a single and came in to score when Howard doubled into the right field corner, tying the game at 1-1. Victorino walked after that and Ibanez hit the first pitch he saw from Zito out to right-center, putting the Phils up 4-1. Mayberry struck out to end the inning.

Ibanez stays in the lineup against the lefty with Francisco on the bench and delivers early. He came into the game hitting 221/250/379 against lefties.

The Phils went in order in the second and again in the third.

Victorino and Ibanez went down to start the fourth. Mayberry was next and he hit a 1-1 pitch out to left center, extending the lead to 5-1. Schneider struck out for the third out.

Score another for Manuel’s lineup against the lefty Zito.

They went in order in the fifth.

Utley led off the sixth and drove a ball to center. It hit off the wall and rolled and rolled towards right. Schierholtz finally got to it and threw it into the infield, but Utley raced all the way around and slid in just ahead of (or at about the same time as) the tag. He was called safe and the Phils were up 6-1. The Phils went in order behind him.

Very close play at the plate. Whiteside’s tag was high cause the relay came in on the third base side of home plate, but Utley might have been out.

Mayberry started the seventh with a double to left. He took off trying to steal third, but left too early. Zito stepped off and threw to second where he was picked off for the first out. Schneider walked behind him. Worley tried to bunt him to second, but struck out fouling off strike two. Rollins flew to center to end the inning.

Up 6-2, Martinez and Utley went down to start the eighth before Howard pounded a 1-0 pitch out to center. 7-2. Victorino flew to left for the third out.

Rollins was 0-for-4. He’s 1-for-his-last-20.

Martinez 0-for-4. 2-for-his-last-16.

Utley 2-for-4 with a home run. 11-for-24 with four doubles and three home runs over his last nine games.

Howard 2-for-4 with a double, a home run and two RBI. 6-for-his-last-14. Twenty home runs on the year for Howard, all 20 of which have come against righties. He’s slugging .320 against lefties.

Victorino 0-for-3 with a walk. 6-for-his-last-16 with three walks.

Ibanez 1-for-3 with a three-run homer. 5-for-his-last-11. 279/309/498 over his last 285 plate appearances since May 3.

Mayberry 2-for-3 with a double and a home run. 353/353/647 in his last 34 plate appearances (12-for-34 with seven doubles and a home run).

Schneider 0-for-2 with a walk. He’s hitting .176 in 81 plate appearances for the year.

Cole Hamels (12-5, 2.62) faces righty Tim Lincecum (8-8, 2.90) tonight. Lincecum has allowed one run or less in five or his last six starts, throwing to a 1.66 ERA with a 1.13 ratio over those six outings. Hamels has allowed more than two runs in a start once in his last 11 outings. Righties are hitting 199/246/288 against him for the year. Over his last 14 starts he’s allowed just four home runs in 96 2/3 innings. That’s about .37 home runs per nine innings compared to his career rate of about 1.07.

This suggests there is no timetable for Contreras’s return and that Blanton may not return at all this year.

Gary Finkler has combined sports blogging and sketching at 7thinningsketch.com