PHILADELPHIA, AP

Carlos Beltran’s two-run double in the eighth inning helped Houston beat the Philadelphia Phillies 9-8 Wednesday night after Roger Clemens joined Andy Pettitte on the Astros’ injury list.

Clemens was day to day after straining his right calf running to first base on his two-run single. The six-time AL Cy Young Award winner gave up four runs in three innings.

Before the game, the Astros learned Pettitte will have season-ending elbow surgery next week.

Beltran finished with two hits and three RBIs for Houston, desperately trying to stay in the National League wild-card race. Brad Lidge retired pinch-hitter Chase Utley on a shallow fly with the bases loaded to end the game.

Marlon Byrd and Placido Polanco homered for the free-falling Phillies, who fell to 1-8 on their homestand.

Chad Harville (1-2) got the final two outs in the seventh. Dan Miceli pitched a scoreless eighth, and Lidge finished for his 14th save in 16 chances.

Todd Jones (8-4) was one of three Phillies pitchers in the eighth. Expos 6, Giants 2, 1st game Giants 14, Expos 4, 2nd game In San Francisco, Barry Bonds homered for the third time in two days to help lead the San Francisco Giants over the Montreal Expos for a doubleheader split.

Bonds connected for a solo shot off Francis Beltran for his 34th homer and No. 692 of his career.

The 40 year-old slugger left afterward to rest and Dustan Mohr replaced him in left field. Mohr later hit a two-run homer estimated at 451 feet (135 meters).

Wayne Franklin (2-0) gave the Giants an impressive spot start, pitching six strong innings and getting his first career two-RBI game. He was activated from the disabled list after the opener and made his first start this year.

T.J. Tucker (3-2) took the loss.

The Giants had their six-game winning streak snapped in the opener.

Bonds’ pinch-hit popup in the eighth turned into a bizarre double play because of Mohr’s blunder on the bases. The Giants trailed 3-2 with two on and one out when Bonds came up.

But Bonds, who homered twice Tuesday night and leads the NL in batting, hit a foul pop. Third baseman Tony Batista caught the ball and wound up with a double play when Mohr lost track of the outs, wandered off second base and was easily thrown out.

Jose Vidro hit his 100th career home run and Rocky Biddle (4-6) earned the victory.

Brad Hennessey (1-2) pitched six innings in his third major league start. He was sent to minor league Triple-A Fresno after the game when the Giants activated Franklin.

Cubs 7, Brewers 5, 11 innings In Milwaukee, Corey Patterson hit a two-run homer in the 11th to lead the Cubs.

Patterson’s 16th home run of the season came with two outs off Travis Phelps (0-1), who was making his first major league appearance for the Brewers.

Kent Mercker (3-0) threw two-thirds of an inning for the victory, and LaTroy Hawkins pitched the 11th for his 18th save.

Nomar Garciaparra hit three doubles and Derrek Lee also homered and drove in two runs for the Cubs, who won for the second time in six games.

Russell Branyon hit two home runs and had five RBIs for the Brewers, including a two-run homer in the eighth to tie it at 5-5. Reds 5, Cardinals 4 In. St. Louis, rookie Josh Hancock won for the first time as a starter and Sean Casey drove in three runs, helping Cincinnati avoid a three-game sweep.

Scott Rolen homered and Albert Pujols doubled twice for St. Louis. The Cardinals rallied for two runs in the ninth inning, but Pujols grounded out with runners on first and second to end it.

The loss was only the third in 14 games for the NL Central leaders, and it also ended their seven-game home winning streak. St. Louis is 13-3 against the Reds.

Woody Williams (9-7) failed in an attempt to give the Cardinals five 10-game winners for the first time since 2000. He struck out 11, one off his career best, but gave up five runs on nine hits in six innings.

Hancock (3-1) lasted 6 2-3 innings and gave up two runs on five hits in his fifth start in the majors.

Diamondbacks 6, Pirates 3 In Phoenix, Shea Hillenbrand’s three-run homer capped a five-run fifth inning and sent Arizona past Pittsburgh.

Casey Fossum (3-12) pitched seven solid innings to end a six-game losing skid and win for the first time since July 1. Fossum allowed three runs and seven hits in his second-longest outing of the year. Greg Aquino pitched the ninth for his fifth save.

Marlins 6, Dodgers 4 In Los Angeles, pinch-hitter Lenny Harris delivered a three-run double off Eric Gagne with two outs in the ninth inning, rallying Florida past Los Angeles.

It was only Gagne’s second blown save in 100 chances dating to Aug. 26, 2002. The 2003 NL Cy Young Award winner entered with a 4-2 lead in the ninth, but couldn’t hold it.

Braves 6, Padres 5 In San Diego, Andruw Jones hit a two-run homer off Trevor Hoffman in the ninth inning and Atlanta threw out the potential tying run at the plate to end the game, preserving a comeback win over San Diego.

Hoffman (2-3) blew his fourth save in 35 chances — but the Braves had to hold on in the bottom of the ninth.