The Phillies did something against the Giants you’re not going to see very often. They won a three-game series in which they scored three runs. The only way to do that is with the help of some great pitching — in this case the great pitching was provided by Cole Hamels, who tossed a complete-game shutout in the series opener, and Pedro Martinez, who held the Giants to a run on five hits last night as the Phillies took game three of the series.

The Phillies have scored 21 runs in their last nine games and gone a miraculous 5-4. Twenty-one runs in nine games is 2.33 runs per game, which makes it almost impossible to win. The Padres have scored the fewest runs of the 30 MLB teams this year and they’re scoring about 3.91 runs per game. Over the nine games the Phillies have allowed 28 runs, or about 3.11 runs per game. The Giants are the team in baseball that has allowed the fewest runs and they have allowed about 3.72 runs per game. Finally, of the 28 runs that the Phils have given up over their last nine games, nine of them came in a 9-1 loss to the Braves on August 29. So in the other eight games they allowed 19 runs over eight games.

So what I’m trying to say here is that they’re pitching well.

The Phillies are 77-54 after taking two of three from the San Francisco Giants. They are in first place in the NL East. The Marlins and Braves are tied for second-place and both teams trail the Phils by 8 1/2 games. The Phils hit 23 games above .500 with a win in game one of the series, which is their high mark for this season and their best mark since 1993.

Cole Hamels threw a complete game two-hit shutout in game one, which the Phillies won 1-0 on a fourth-inning double from Ryan Howard that drove in Shane Victorino. Hamels started the ninth protecting a one-run lead and gave up a leadoff single to Rich Aurilia. Andres Torres ran for Aurilia and Hamels picked him off of first. Howard made a nice throw to second and Torres was called out. He was safe, but whatever. Big play in the game.

Weary from their explosion in game one, the Phillies bats rested in game two as Brad Penny pitched the Giants to a 4-0 win. Happ allowed a run in the fifth that put San Francisco up 1-0 and Juan Uribe and Aaron Rowand hit back-to-back homers off of Happ in the sixth that extended the lead to 4-0. The Phillies offense managed five singles and a walk in the game.

Eugenio Velez hit Pedro Martinez’s first pitch of the game out to right-center last night, but that was all for the Giants’ offense against Pedro and the Phils won the game 2-1. Martinez didn’t allow another run in the game and struck out nine without walking a batter. Werth hit a long home run off of Tim Lincecum in the bottom of the second to tie the game at 1-1. Utley was hit by a pitch with two outs in the sixth and came around to put the Phillies up to stay when Howard followed with a double.

Given the lack of offense, the Phillies needed fantastic pitching to win. They got it. The pitchers threw 27 innings with a 1.67 ERA and an 0.78 ratio. They allowed five runs in the series, four of which were scored against Happ in game two.

They got two fantastic starts — Hamels threw a complete game shutout in game one and Pedro held the Giants to a run over seven innings in game three. Happ was hit harder in the middle game. Overall the starters went 22 innings with a 2.05 ERA and an 0.77 ratio. They struck out 25 in 22 innings and walked just two.

Hamels threw shutout in game one. In nine innings he allowed a single, a double and a walk and struck out nine. That’s two fantastic starts in a row for Hamels. He has allowed no runs on nine hits and three walks over 17 innings while striking out 16 in his last two starts. He’s pitching rather well. If you’re looking for something to worry about I’d go with this: over his first 24 starts the most pitches Hamels had thrown in a game this year was 117. Over his last two starts he’s thrown 123 and 118.

Happ went six innings in game two, allowing four runs on eight hits and walk. It was just the second time in his last 14 starts that Happ has allowed more than three runs in an outing. Happ hasn’t had a whole lot of problems this year. To the degree he’s had any one of them has been that he gives up too many walks. His walk rate is down recently, though. Over his last three starts he hasn’t walked more than two batters in a game.

The Phillies are going to need Moyer to start a few double-header games in September, but I think they should (and will) also consider giving some of Happ’s starts to Moyer to keep Happ’s innings down.

Pedro allowed a run on five hits in seven innings in last night’s game. He struck out nine and didn’t walk a batter. He’s issued just three walks in 23 innings over five starts with the Phillies, throwing to a 3.52 ERA and a 1.09 ratio. He has 23 strikeouts in 23 innings and the Phillies are 5-0 in the games he’s started, although twice rain has shortened his start and Moyer helped the Phils get a win with excellent work in long relief.

The bullpen threw just five innings in the series. They didn’t allow a run and threw to an 0.80 ratio, allowing one hit and three walks while striking out six.

Eyre did not pitch in the series.

Moyer did not pitch in the series.

Taschner started the ninth inning of game two with the Phils down 4-0. He faced one batter, lefty Nate Schierholtz, and struck him out with the help of some weird sidearm thing I’d not seen from him before.

Durbin started the seventh inning of game two with the Phillies down 4-0 and threw two scoreless innings. He allowed two walks. In the seventh he walked Torres with one out but got the next batter to hit into a double-play. In the eighth he walked Uribe with two outs but got Rowand to fly to left. For Durbin it was his first outing in his last three that he had not been charged with a run.

Park did not pitch in the series. He’s gotten two outs since August 24.

Walker entered the ninth inning of game with the Phillies down 4-0. He faced two batters and struck them both out.

Over his last nine appearances Walker has allowed three hits and three walks in 10 1/3 scoreless innings (0.00 ERA and an 0.58 ratio) with ten strikeouts.

Madson pitched the eighth inning in last night’s game with a 2-1 lead and set the Giants down 1-2-3. It broke a string of four appearances in a row in which he had been charged with at least one run.

Lidge came on in the ninth last night with a 2-1 lead. He got the first two hitters and had Randy Winn buried at 0-2 before Winn singled to right. Uribe followed with a walk, but Lidge got Fred Lewis on a ground ball to second to end the game.

Lidge has thrown three scoreless innings in his last three appearances, allowing a hit and a walk over three innings. He’s been charged with one or more earned runs in just one of his last eight times out.

Nobody in the Phillies pen has thrown more than one day in a row. Lidge threw 22 pitches last night.

The Phillies scored three runs in the three-game set.

Rollins was 3-for-12 with a double on the series. He’s hitting 244/289/413 for the year. Among the 25 players in either league who have at least 300 plate appearances as a leadoff hitter, Rollins’ .282 on-base percentage hitting first is 24th. Over his last 82 plate appearances overall he has two walks and a .259 on-base percentage.

Victorino was 1-for-12 with a single in the series. 300/368/455 for the year. His last walk came on August 24.

Utley was 0-for-10 with a walk in the series. 298/417/542 for the year.

Howard doubled in the only run the Phillies scored in a 1-0 win in game one. He also made a solid throw in the ninth to get Torres at second when Hamels picked the runner off in the ninth inning of the series opener. He was 4-for-11 with three doubles in the series. He drove in two of the three runs that the Phillies scored and is hitting 275/353/570 on the year. 337/396/831 with six doubles, a triple and 11 home runs over his last 91 plate appearances.

Howard was walked intentionally 37 times in 2006 and then 35 times in 2007. In 2009 he has been walked intentionally three times and just once in his last 254 plate appearances. His OPS in those 254 plate appearances is .977, which is very similar to the .976 OPS he posted in 2007 when he was walked intentionally 35 times.

Werth had a monster home run last night to give him 30 for the season. His career-high coming into the season was 24 (last year). He has had more plate appearances this year than last, but he’s also hitting home runs at a quicker pace. In ’08 he hit 24 in 482 plate appearances, which is one every 20.08 plate appearances. This year he has 30 in 551, which is one every 18.36 plate appearances. He 2-for-8 with a home run and two walks in the set. 270/374/521 on the year.

Ibanez is a mess. 0-for-8 with a walk and four strikeouts in the series. He’s hitting 272/343/551 for the season. He has hit 200/297/338 over his last 195 plate appearances.

Feliz was 1-for-9 in the series. 272/318/387.

Ruiz went 3-for-8 with a double and a walk in the series to raise his line on the year to 245/343/414. He’s hitting 366/438/707 with five doubles and three home runs in his last 50 plate appearances.

Bako did not play in the series.

Bruntlett did not play in the series.

Francisco went 0-for-1 to drop his line with the Phillies to 214/261/452 in 42 at-bats.

Cairo was 0-for-1 in the series and is 2-for-19 with the Phillies this year.

Stairs was 0-for-1 in the series. He’s 1-for-34 since the end of June and hitting 193/349/352 for the year. I wrote yesterday that it’s pretty hard to find things to quibble with in the Amaro era, but if you’re looking to add to the Paulino-for-Taschner list I think Stairs instead of Jenkins belongs on the list as well. I think it’s hard to defend putting a guy on your roster all year who doesn’t play defense and hits .193, especially with Dobbs on the team most of the year. It’s not over yet, though, and the biggest at-bats on the year for Stairs are still to come.

This says that Brett Myers will be activated for tonight’s game against the Astros. It also suggests that Romero thinks he could be activated soon, which comes a surprise.