Tim Lincecum won for the first time in four starts and Juan Uribe hit a two-run homer in the fourth inning as the Giants beat Houston 2-1 Saturday. Lincecum (5-0) struck out five and walked five but outdueled Astros ace Roy Oswalt (2-5) in a rematch of hard-throwing righties from opening day. Brian Wilson relieved Lincecum after the eighth and earned his eighth save in nine chances. But not before he loaded the bases and needed 15 pitches to retire Kaz Matsui on a game-ending flyout. Lincecum earned his first win since April 23 following three straight no-decisions in which the two-time reigning NL Cy Young Award winner left with the lead. The 32-year-old Oswalt, who began the day with the third-lowest run support in the National League at 2.44, lost his third straight decision despite seven strikeouts and no walks in seven innings. He allowed six hits. Reds 4, Cardinals 3: At Cincinnati, Orlando Cabrera made a strong relay throw to the plate to nail Skip Schumaker for the final out, preserving Cincinnati's victory in baseball's Civil Rights Game. Schumaker, who hit an RBI single to get St. Louis within one, tried to score when Joe Mather doubled to left. Rookie Chris Heisey, inserted for defensive purposes, got to the ball quickly when it died against the wall and threw to shortstop Cabrera, whose throw was to the foul side of the plate but fast enough for Ramon Hernandez to get over for the tag. Drew Stubbs hit a two-run triple in the sixth inning, foiling St. Louis' strategy to pitch to him, and rookie right-hander Mike Leake (4-0) remained unbeaten. Francisco Cordero pitched the ninth for his 12th save. Adam Wainwright (5-2) gave up a season-high four runs in six innings. Dodgers 4, Padres 1: At San Diego, Clayton Kershaw threw seven strong innings against the first-place Padres in a victory that extended Los Angeles' winning streak to six. James Loney homered and Russell Martin hit an RBI single for Los Angeles, which has won 11 of 14 and is two games above .500 for the first time this year. Garret Anderson had a run-scoring triple and Jamey Carroll an RBI single. Kershaw (3-2) held the Padres to three hits, struck out seven and walked two. The left-hander started the Dodgers' winning streak last Sunday by beating Colorado 2-0. Jonathan Broxton pitched the ninth for his sixth save in eight chances. Padres right-hander Kevin Correia (4-3) started a week after his younger brother, Trevor, died after falling from a cliff while hiking on Santa Cruz Island. Correia went 5 1-3 innings, allowing four runs and five hits. Marlins 7, Mets 5: At Miami, Cameron Maybin equaled a career high with three RBIs as Florida earned its season-best third consecutive win. Phillies 10, Brewers 6: At Milwaukee, Shane Victorino homered and drove in four runs, powering Philadelphia to the victory. Pirates 4, Cubs 3: At Chicago, Jeff Clement homered in the ninth inning and Octavio Dotel escaped a jam in the bottom half to lead Pittsburgh to the win. Diamondbacks 11, Braves 1: At Atlanta, Justin Upton and Kelly Johnson homered to help Arizona snap a seven-game losing streak. Rockies 6, Nationals 2, 1st game; Rockies 4, Nationals 3, 2nd game: At Denver, Ian Desmond's throwing error in the seventh inning allowed Paul Phillips to score the go-ahead run, helping Colorado complete a doubleheader sweep.