Matt Diaz homered for the third straight game as the Atlanta Braves beat the San Diego Padres 4-1 in Tuesday's clash of National League divisional leaders. Diaz drove in three runs with a two-run homer in the fourth and a run-scoring single in the seventh as the East-leading Braves overtook the West-leading Padres for the NL's best record. Atlanta starter Jair Jurrjens (3-3) pitched seven strong innings, giving up only two hits over the last five. San Diego starter Wade LeBlanc (4-8) gave up two runs in six innings. Giants 7, Dodgers 5: In Los Angeles, Andres Torres hit a go-ahead, two-run double in the ninth inning, rallying San Francisco to victory over Los Angeles in a heated game featuring three ejections. The Dodgers lost their sixth straight to remain winless since the All-Star break. Dodgers hitting coach Don Mattingly, who took charge after the separate ejections of manager Joe Torre and bench coach Bob Schaefer, went to the mound for a chat with closer Jonathan Broxton (3-2) before Torres came up with the bases loaded. Mattingly took a few steps back toward the dugout before turning around and saying something to Broxton. Giants manager Bruce Bochy protested that Mattingly's about-face constituted a second trip to the mound. The umpires agreed, and Broxton had to leave the game. George Sherrill took over as pitcher and served up Torres' hit, giving the Giants a 6-5 lead. San Francisco's Santiago Casilla (3-2) got the win and Jeremy Affeldt picked up his third save. Cardinals 7, Phillies 1: In St. Louis, Chris Carpenter worked eight dominant innings to steer St. Louis past Philadelphia and to its seventh straight win. Carpenter (11-3) allowed one run, while the Cardinals got homers from Randy Winn and Matt Holliday. Phillies 47-year-old starter Jamie Moyer strained an elbow and lasted only one inning. The Phillies have lost five of six since the All-Star break and demoted another starter earlier in the day, sending Kyle Kendrick to the minors. Andrew Carpenter (0-1) pitched three innings in relief of Moyer, yielding three runs. Rockies 10, Marlins 0: In Miami, Melvin Mora drove in five runs as Colorado crushed Florida. Batting in the No. 3 spot for only the second time this season, Mora hit a bases-clearing double to highlight a six-run third inning. He also hit a two-run homer off Nate Robertson (6-8) in the fifth and finished with three hits, matching a season high. Rockies starter Jeff Francis (3-3) pitched seven scoreless innings, striking out seven and walking none. Robertson gave up eight runs in five innings for Florida, which lost its first game in four and suffered its heaviest defeat of the season. Reds 8, Nationals 7: In Cincinnati, Mike Leake pitched five solid innings before a long rain delay, setting up Cincinnati's defeat of Washington. Diamondbacks 3, Mets 2: In Phoenix, Barry Enright pitched eight effective innings to guide Arizona to a tight win over New York. Cubs 14, Astros 7: In Chicago, Aramis Ramirez hit three homers and drove in seven runs to help Chicago rally and beat Houston hours after manager Lou Piniella announced he will retire at the end of the season. Pirates 11, Brewers 9: In Pittsburgh, Pedro Alvarez hit a grand slam in Pittsburgh's nine-run first that set up victory over Milwaukee.