MILWAUKEE (AP) - Matt Cain outpitched Yovani Gallardo for his first win in more than six weeks and the San Francisco Giants beat the Milwaukee Brewers 3-2 on Saturday.
Juan Uribe homered off Gallardo (12-11) to spark a two-run rally in the fourth inning and San Francisco won for the sixth time in eight games. The Giants stayed one game behind Colorado for the NL wild card.
Cain (13-4) scattered four hits and pitched into the eighth inning, matching his career high for wins after going seven starts without one. Brian Wilson got five outs for his 34th save.
Rockies 4, Diamondbacks 1
DENVER (AP) - Jose Contreras pitched 6 2-3 solid innings to lead Colorado over Arizona.
Acquired on Monday from the Chicago White Sox for a minor leaguer, Contreras (1-0) paid immediate dividends for the Rockies by beating Doug Davis (7-12) and the Diamondbacks.
Seth Smith homered and scored three runs and Carlos Gonzalez also homered for Colorado, which maintained its one-game lead in the NL wild-card race.
Franklin Morales pitched the ninth for his third save.
Brandon Allen homered for the Diamondbacks, who have lost four of five.
Cardinals 2, Pirates 1, 10 innings
PITTSBURGH (AP) - Albert Pujols led off the 10th inning with his second career pinch-hit home run, and St. Louis overcame Ross Ohlendorf's dominating start to hand Pittsburgh its ninth straight loss.
Ohlendorf allowed only an unearned run over eight innings and became the 40th major league pitcher to strike out the side on nine pitches in an inning, but didn't figure in the decision.
The Pirates lost their 81st game of the season. With one more defeat, they would become the first team in any of the four major American pro sports to have 17 consecutive losing seasons.
Pujols, whose game-breaking three-run shot carried the Cardinals to a 14-7 victory Friday, hit a 1-2 pitch from Matt Capps (3-8) far beyond the center-field wall for his major league-high 44th homer.
Blake Hawksworth (2-0) pitched out of a bases-loaded jam in the ninth after starter Mitchell Boggs gave up one run in seven innings. Ryan Franklin finished up for his 37th save in 39 opportunities.
Marlins 9, Nationals 5
WASHINGTON (AP) - Hanley Ramirez homered, Josh Johnson earned his 14th win and Florida handed woeful Washington its season-high eighth consecutive loss.
Pinch-hitter Brett Hayes also went deep for the Marlins and Johnson (14-4) allowed two hits over five innings. The right-hander retired his final 11 batters in Florida's fourth straight victory. He is 7-2 in his last 10 starts, and 5-0 in his career against the Nationals.
Washington's losing streak is its longest since the team dropped 12 straight from Aug. 8-20, 2008.
Ramirez had three RBIs and Jorge Cantu and Cody Ross two each for the Marlins, who stayed four games behind Colorado for the NL wild card. Chris Coghlan had three hits.
Livan Hernandez (7-10) allowed six runs and eight hits over five innings.
Reds 3, Braves 1
ATLANTA (AP) - Joey Votto hit a two-run homer, Kip Wells pitched six innings of one-hit ball to win for the first time in more than 16 months and Cincinnati beat Atlanta for its season-best sixth straight victory.
The fading Braves, who fell six games behind Colorado in the NL wild-card race, have lost four straight.
Wells (1-3), who had not won since April 17, 2008, when he was with Colorado, allowed only a single to Garret Anderson in the second inning. The right-hander walked four, struck out four and hit a batter.
Votto connected off Jair Jurrjens (10-10) in the sixth to put the Reds up 2-0. Brandon Phillips followed with a double and scored on a single by Scott Rolen.
Francisco Cordero pitched the ninth for his 32nd save in 34 attempts.
Astros 5, Phillies 4
HOUSTON (AP) - Kaz Matsui's two-run single off Brad Lidge with two outs in the bottom of the ninth inning gave Houston a comeback victory over Philadelphia.
Hunter Pence homered and drove in three runs for the Astros. Michael Bourn became the first Houston player to reach 50 stolen bases since Craig Biggio in 1998.
With one out in the ninth, Geoff Blum walked and Chris Coste singled before Jason Michaels walked to load the bases. After Bourn grounded into a force play at the plate, Matsui singled to hand Lidge (0-7) his 10th blown save in 48 chances this season.
Jose Valverde (3-2) pitched a perfect ninth after Philadelphia rallied from three runs down to grab a 4-3 lead in the eighth. The NL East leaders scored only three runs in their previous four games and were shut out twice during that span.
Houston ace Roy Oswalt was working on a shutout in the seventh when he came out because of tightness in his lower back.
Cubs 5, Mets 3
NEW YORK (AP) - Derrek Lee homered twice and drove in three runs in his return to the lineup.
Rich Harden struck out 10, all swinging, and Aramis Ramirez also had a two-run homer for Chicago, which scored its most runs since beating the Mets 11-4 last Saturday.
Harden (9-8) pitched five effective innings and the Cubs won for the third time in seven games. The right-hander allowed two runs, one earned, and seven hits to improve to 4-2 with a 2.40 ERA since the All-Star break.
Figueroa (2-4) collected eight more strikeouts but was undone by two big swings from Ramirez and Lee, back in the lineup after missing two games to be with his wife following the birth of their second child early Thursday morning.
Dodgers 7, Padres 4.
LOS ANGELES (AP) - Andre Ethier homered and doubled in a run to help Randy Wolf get his 100th major league victory.
Wolf (10-6) allowed two runs and four hits in seven innings, striking out five with no walks while becoming the first pitcher in the majors this season to make 30 starts. The 33-year-old left-hander, whose season has included 14 no-decisions, retired his final 13 batters after giving up a two-out RBI single by Adrian Gonzalez in the third.
Wolf is 5-0 with a 2.09 ERA over his last five outings. This was the 18th time he has allowed fewer than three earned runs, but is only 9-1 in those games because the bullpen squandered the lead in the other eight.