ATLANTA - John Smoltz beat the Los Angeles Dodgers for the first time in more than eight years, pitching seven shutout innings to lead the Atlanta Braves to a 4-0 victory last night in a matchup of first-place teams.

Brian McCann had a two-run double in the first, and Jeff Francoeur drove in the other runs with a fifth-inning single.

That was plenty for Smoltz (4-1), who escaped a bases-loaded, no-outs jam in the fourth on the way to his first win over Los Angeles since April 19, 1999.

Mike Gonzalez and Rafael Soriano finished off the eight-hit shutout with one scoreless inning apiece.

Mets 5, Diamondbacks 3

PHOENIX - Paul Lo Duca and Julio Franco homered against Randy Johnson (0-2) to propel New York past Arizona.

John Maine (5-0) pitched six innings and Jose Reyes had three hits for the Mets, who won their 12th straight game at Chase Field, extending their club record for consecutive victories in a road ballpark.

Maine allowed a run and six hits.

Marlins 5, Padres 4

MIAMI - Josh Willingham and Joe Borchard hit consecutive home runs to start the eighth inning, leading Florida past San Diego.

The back-to-back homers, the first this season by Florida, came off Scott Linebrink (1-1), who entered the game with a 4-3 lead.

San Diego's Greg Maddux pitched six innings and departed for a pinch-hitter with the lead, but was denied his 336th career victory.

Cubs 6, Nationals 4

CHICAGO - Derrek Lee homered and Alfonso Soriano had a key RBI double against his former team, helping Chicago erase an early 4-0 deficit.

Lee's homer, a two-run blast in the third, aided the Cubs in closing to within 4-3.

Soriano, who signed as a free agent, tied the game with a two-out double in the fourth and came around to score Chicago's fifth run on Cliff Floyd's single.

Brewers 10, Pirates 0

MILWAUKEE - J.J. Hardy, Prince Fielder and Johnny Estrada homered and Claudio Vargas (2-0) gave up four singles in six innings to send Milwaukee past Pittsburgh.

Rockies 6, Reds 5

CINCINNATI - Troy Tulowitzki's two-out single snapped an 11th-inning tie and gave Colorado the victory over Cincinnati.

Cardinals 3, Astros 2

ST. LOUIS - Albert Pujols hit a go-ahead two-run double in the fifth inning, and St. Louis ended a five-game losing streak by edging Houston.