ST. LOUIS (AP) - Albert Pujols lined an RBI single over the head of center fielder Matt Kemp with two outs in the 15th inning, giving St. Louis a 3-2 victory over Los Angeles, saddling the NL West leader with its first four-game losing streak of the season.
Blake Hawksworth (1-0) allowed two hits and struck out three in three innings for his first career victory.
Jeff Weaver (5-4) worked two perfect innings before running into trouble in the 15th when Brendan Ryan led off with a triple.
The Cardinals are 11-2 against the Dodgers at 4-year-old Busch Stadium, and 17-3 at home against Los Angeles since 2004.
Dodgers starter Clayton Kershaw allowed four hits and struck out seven in eight scoreless innings, a career high.
Cardinals starter Joel Pineiro gave up one run and six hits in eight innings.
Colby Rasmus' broken-bat, opposite-field RBI single in the ninth off Jonathan Broxton tied the game ended the Dodgers closer's run of 12 consecutive saves.
Padres 7, Reds 1
CINCINNATI (AP) - Rookie Mat Latos and two relievers combined on a one-hitter and San Diego won consecutive games for the first time in a month.
Latos (2-1) earned his second straight victory by allowing only Jerry Hairston Jr.'s homer in the fourth inning. Greg Burke and Mike Ekstrom both pitched one inning to complete the Padres' second one-hitter of the season.
Adrian Gonzalez and Kyle Blanks homered off struggling Aaron Harang, and San Diego won two straight games for the first time since June 27-28. The Padres have lost 20 of 26 since July 1.
The Padres scored five times in the first off Harang (5-12), who leads the majors in losses. Gonzalez had a two-run shot - his third homer in three games - and Blanks hit a three-run homer.
Harang hasn't won since May 25, going 0-8 in 12 starts. It's the longest losing streak of his career and the longest by a Reds pitcher since Danny Graves lost eight straight decisions in 2003.
Latos walked one and struck out four. He retired 21 of the 23 batters he faced.
Marlins 6, Braves 3
MIAMI (AP) - Josh Johnson hit a three-run homer in another solid start to lift Florida.
Johnson's shot with two outs in the fourth off Kenshin Kawakami (5-8) was the second home run of his career. The homer earned him a curtain call from fans and gave the Marlins their seventh win in the last eight games.
Johnson (10-2) allowed eight hits in six innings before the bullpen shut out the Braves the rest of the way. Leo Nunez gave up a triple in the ninth to Kelly Johnson before striking out Nate McLouth for his eighth save.
Casey Kotchman's home run leading off the fifth, and Garret Anderson's two-run homer in the sixth were all the Braves' scoring.
Ramirez, the NL-batting leader, had an RBI triple in the first and added his 16th homer in the fifth. Dan Uggla hit his 18th homer later in the inning to put the Marlins ahead 6-1.
Diamondbacks 4, Phillies 0
PHOENIX (AP) - Justin Upton homered and drove in three runs and Chris Snyder added a solo shot as Arizona defeated Philadelphia hours after the defending world champions acquired ace lefty Cliff Lee from Cleveland.
Arizona journeyman Yusmeiro Petit (1-5) matched a career high with eight strikeouts and won for the first time since Aug. 23, 2008, a span of 11 starts.
The Phillies lost for only the sixth time in 25 games this month.
Petit gave up a leadoff single to Jimmy Rollins, then began to cruise. He allowed a single to Raul Ibanez leading off the second before retiring 15 of the next 16 batters, including 13 straight at one point.
Petit allowed four hits in six innings, walking one and striking out eight.
Phillies starter J.A. Happ (7-2) gave up a leadoff single to Stephen Drew and a homer to Upton to put the Diamondbacks ahead 2-0 in the first. He went six innings, allowing two runs and three hits.
Giants 1, Pirates 0, 10 innings
SAN FRANCISCO (AP) - Randy Winn lined an RBI single down the first-base line with two outs in the 10th inning to give San Francisco a three-game sweep.
Matt Cain allowed three hits over nine innings for the Giants and Brian Wilson (3-4) worked the 10th for the victory.
Eugenio Velez led off the 10th against Matt Capps (2-6) with a single. He was sacrificed to second and scored on Winn's lone hit in five at-bats.
The Pirates lost their fifth straight to finish a 1-7 trip.
After the game, San Francisco acquired Pittsburgh All-Star second baseman Freddy Sanchez for minor league pitcher Tim Alderson. The Pirates traded shortstop Jack Wilson and pitcher Ian Snell to Seattle earlier Wednesday for shortstop Ronny Cedeno, Triple-A catcher Jeff Clement and three minor league pitchers.
Zach Duke of the Pirates gave up six hits over seven innings.
Cubs 12, Astros 0
CHICAGO (AP) - Randy Wells pitched eight innings and Alfonso Soriano hit a three-run homer during Chicago's six-run first inning.
Aramis Ramirez homered and drove in two runs for the Cubs, who battered Mike Hampton and improved to 10-3 since the All-Star break.
Wells (7-4) is the first Cubs rookie with seven victories since Kerry Wood won 13 in 1998. He gave up six singles, walked two, struck out one and let only one runner get as far as second base.
Mitch Atkins, making his major league debut after getting called up from Triple-A Iowa, completed the Cubs' third shutout of the season by working a hitless ninth.
Hampton (6-8) allowed nine runs in four innings for Houston, which has lost four of five.
The Cubs sent 10 batters to the plate in the first, with Soriano's homer breaking open the game. Ramirez homered in the second, giving him at least one extra-base hit in seven straight games.
Brewers 7, Nationals 5
MILWAUKEE (AP) - Casey McGehee's two-run, pinch-hit homer helped rally Milwaukee.
McGehee's homer - the Brewers' first from a pinch-hitter this season - came with two outs in the sixth inning off reliever Tyler Clippard (1-1) and gave Milwaukee a 6-5 lead.
Mike Cameron homered for the Brewers, while Ryan Braun had a home run called back on an instant replay review.
Trevor Hoffman allowed one hit in the ninth to earn his 23rd save.
Milwaukee came into July in first place in the division but has gone 8-16 this month - including losing the first two games of the four-game series with the Nationals by a combined score of 22-9.
Milwaukee starter Manny Parra (5-8) settled down after walking in two runs in the second inning. He managed to make it through the sixth, giving up five runs, nine hits and five walks.
Cristian Guzman had an RBI single and a double for the Nationals, who had won a season-high four straight.