Carpenter tosses two-hitter

? Chris Carpenter threw a two-hitter, and David Eckstein had four hits to help the St. Louis Cardinals to their fifth straight victory, 5-0 over the Los Angeles Dodgers on Friday night.

Chris Duncan hit a two-run homer off Derek Lowe (7-6) in the third inning for the Cardinals, who had needed extra innings to win their previous three games, including a 14-inning victory over the Dodgers on Thursday in the series opener. Juan Encarnacion added a solo homer in the eighth off Danys Baez.

Eckstein is 11-for-26 (.423) for his career against Lowe.

Carpenter (8-4) threw his 10th career shutout and 21st complete game, the first of each this season. He struck out seven and hit a batter, requiring only 101 pitches.

Rafael Furcal lined a single over Eckstein’s head at shortstop to lead off the fourth, and Carpenter retired the next 14 hitters before Cesar Izturis singled up the middle with two outs in the eighth. Nomar Garciaparra was 0-for-3 with three groundouts, ending a 22-game hitting streak during which he batted .360.

Giants 5, Phillies 3

San Francisco – Barry Bonds walked twice, scoring both times, stole a base and made a sliding catch in left field. Bonds, the 41-year-old Steve Finley and Moises Alou, who turned 40 on July 3, became the first trio of 40-year-olds in baseball history to start in the same outfield.

Mets 6, Cubs 3

Chicago – Steve Trachsel won his seventh straight start, and New York used a four-run fourth inning to defeat Chicago.

Diamondbacks 4, Brewers 3

Phoenix – Johnny Estrada hit a two-run homer in the bottom of the ninth inning to lift Arizona. Luis Gonzalez doubled to lead off the ninth against Brewers closer Derrick Turnbow (4-5). Estrada drilled Turnbow’s next delivery 392 feet into the seats in right field.

Marlins 3, Astros 1

Miami – Rookie Anibal Sanchez outdueled Roger Clemens, and Reggie Abercrombie hit a two-run homer to lead Florida. Clemens (1-3), making his fifth start of the season, lasted five innings, giving up two runs and seven hits with seven strikeouts.

Pirates 7, Nationals 4

Pittsburgh – Jason Bay drove in two runs, and Jose Bautista homered among his three hits to lead Pittsburgh past Washington.

Reds 3, Rockies 1

Cincinnati – Adam Dunn homered on a pitch he wasn’t supposed to reach, and Aaron Harang became Cincinnati’s first 10-game winner. Cincinnati had slipped four games behind St. Louis in the NL Central with a 1-8 slump heading into the All-Star break.