Tim Hudson threw eight dominant inning and Troy Glaus hit a two-run single in Atlanta's three-run fourth as the Braves beat the San Francisco Giants 3-0 Saturday. Billy Wagner, who blew a save opportunity in Atlanta's 3-2, 11-inning loss to the Giants on Friday night, finished for his 27th save in 33 chances, striking out the side. Hudson (13-5) allowed three hits, walked one and struck out six, improving to 4-0 with a sparkling 0.63 ERA in his last four starts. He is 3-0 with a 2.84 ERA in his last five starts against the Giants, dating to 2006. The National League East-leading Braves have won three of four to improve to 38-15 at home, best in the majors. Marlins 5, Cardinals 4, 10 innings: At Miami, Hanley Ramirez hit an RBI double in the 10th inning to give Florida the much-needed victory over St. Louis. Ramirez, Dan Uggla, and Donnie Murphy also homered for the Marlins, who snapped a five-game losing streak. Clay Hensley (2-4) pitched a scoreless 10th to get the win. Chad Tracy hit a one-out single off Ryan Franklin (6-2) before Ramirez doubled to deep right-center field. The Cardinals trailed 3-2 with two outs in the ninth before Yadier Molina and Aaron Miles each hit RBI singles off Leo Nunez. Uggla tied it with a drive off Franklin in the bottom half. It was Uggla's ninth homer in his last 15 games and 25th overall. Diamondbacks 6, Padres 5: At Phoenix, Chris Young started and ended the game with homers, powering Arizona to the win over San Diego. Young opened with his 16th career leadoff homer off Clayton Richard, helping the Diamondbacks build a 5-3 lead. Jerry Hairston Jr. led off the San Diego ninth with a homer off Aaron Heilman (3-3), then Adrian Gonzalez tied it with a two-strike, two-out solo shot to left. Young ended it quickly, hitting the winning homer off Luke Gregerson (3-6) to left, sending the sellout crowd of 48,946 happy on the night Luis Gonzalez became the first Diamondbacks player to have his number retired. Pirates 8, Rockies 7, 10 innings: At Pittsburgh, rookie Pedro Alvarez hit a winning three-run homer with two out in the 10th inning to send Pittsburgh to a wild victory over Colorado. Alvarez's 10th homer and second in as many days came on an 0-1 pitch from Huston Street (2-3) with Andrew McCutchen and Garrett Jones aboard. Ian Stewart hit a tying three-run homer in the ninth for the Rockies and Todd Helton's two-run shot off Sean Gallagher (2-0) in the 10th made it 7-5. Jones and Chris Snyder also homered for last-place Pittsburgh, which has won three of five. Alvarez, the No. 2 overall draft pick two years ago, connected for the ninth time at home this season, capping a 3-for-6 night. Mets 1, Phillies 0: At Philadelphia, Johan Santana allowed five hits in 7 1-3 innings and Jeff Francoeur homered as New York blanked Philadelphia. Reds 4, Cubs 3: At Chicago, Drew Stubbs hit a tiebreaking homer in the eighth inning and drove in a pair of runs to lead surging Cincinnati over Chicago. Brewers 5, Astros 2: At Milwaukee, Rickie Weeks hit an inside-the-park homer and George Kottaras added a solo shot to help Milwaukee get the win over Houston. Dodgers 3, Nationals 2, 10 innings: At Los Angeles, James Loney singled home the winning run with one out in the 10th inning as Los Angeles beat Washington.