Ramon Hernandez hit a tiebreaking RBI single in the eighth inning as the Cincinnati Reds rallied to end the San Diego Padres' eight-game winning streak with a 5-4 victory Sunday. Francisco Cordero got former Reds utility Jerry Hairston Jr. to fly out to center with runners on first and third to end the game for his seventh save. Jay Bruce had three hits and Scott Rolen hit his fifth homer for Cincinnati, which managed only four runs in the first two games of the series. Arthur Rhodes (1-1) pitched a perfect eighth inning for the victory. Adrian Gonzalez hit a two-run drive for San Diego and has homered in four consecutive games. Mike Adams (0-1) got the loss. Cardinals 2, Giants 0: At San Francisco, Brad Penny, Jason Motte and Ryan Franklin combined for a nine-hitter and Albert Pujols hit his team-leading seventh homer, helping St. Louis avoid a series sweep. Penny (3-0) gave up eight hits over 7 2-3 innings while outpitching former teammate Matt Cain. Penny, who played for San Francisco in 2009, didn't allow a runner past second base while lowering his ERA to 0.94. Pablo Sandoval and Andres Torres had three hits apiece for the Giants, who were shut out for the second time in five games. Pujols hit a hanging slider from Cain (0-1) into the left-field stands in the first inning. Nationals 1, Dodgers 0: At Washington, Scott Olsen pitched seven strong innings for his first victory since having shoulder surgery in July, leading the Nationals to victory. Chad Billingsley (1-1) allowed one run and four hits in six innings for Los Angeles. Adam Dunn drove in the only run of the game with a groundout in the first. Olsen (1-1) allowed six hits, walked one and struck out eight in his third start since being recalled from Triple-A Syracuse on April 15. Tyler Clippard worked the eighth and Matt Capps finished the seven-hitter for his major league-leading eighth save. Cubs 12, Brewers 2: At Milwaukee, Derrek Lee hit a towering 445-foot homer and Ryan Theriot had five hits to help the Cubs complete the three-game sweep. Randy Wells (2-0) continued Chicago's string of strong starting pitching performances, allowing two runs in seven innings. Rockies 8, Marlins 4: At Denver, Seth Smith homered twice as Colorado beat Florida after attending an emotional Coors Field memorial service for team president Keli McGregor. Diamondbacks 8, Phillies 6: At Phoenix, Mark Reynolds hit a tiebreaking RBI double in the eighth inning and finished with three hits, including a three-run homer, to lead Arizona. Astros 10, Pirates 3: At Houston, Lance Berkman hit his first home run and Carlos Lee and Pedro Feliz drove in two runs apiece as Houston completed a three-game sweep of Pittsburgh. Mets 1, Braves 0, 6 innings, rain: At New York, Mike Pelfrey pitched out of constant trouble to extend his scoreless streak to 24 innings as the Mets finished a three-game sweep of the slumping Braves in a game cut short by rain.