James Loney hit a tiebreaking RBI single in the seventh inning to help the Los Angeles Dodgers to a 5-4 win over Atlanta in the National League on Friday, snapping the Braves' nine-game winning streak. Atlanta had tied it in the top half of the 7th on Yunel Escobar's two-out, two-run double into left-center off Hong-Chih Kuo. Kuo (1-1) pitched 1 1-3 innings for the victory and Jonathan Broxton worked a perfect ninth for his 14th save in 16 attempts. Braves starter Kenshin Kawakami (0-8) gave up five runs in 6 1-3 innings. Phillies 3, Padres 2: In Philadelphia, Roy Halladay pitched seven innings, working out of trouble to lead Philadelphia over San Diego. Halladay (8-3) held San Diego to two runs in his first game since pitching a perfect game gem against Florida last Saturday. Shane Victorino homered for the Phillies and scored the go-ahead run on Jayson Werth's two-out, bases-loaded walk against Mat Latos (5-4) in the fifth. Philadelphia closer Brad Lidge tossed a perfect ninth inning for his second save. Nationals 4, Reds 2: In Washington, Ian Desmond hit an RBI single to break a seventh-inning and Willie Harris followed with a sacrifice fly that lifted Washington over Cincinnati. Washington reliever Tyler Clippard (8-3) earned the win for working a scoreless seventh inning. Enerio Del Rosario (1-1) took the loss for Cincinnati. Mets 4, Marlins 3: In New York, R.A. Dickey won his third straight start to help New York edge Florida and improve its impressive home record. Dickey (3-0) yielded seven hits in 6 1-3 innings and from the plate he delivered two hits and an RBI, pushing the Mets to their sixth consecutive home victory. After the Mets fought back from a three-run deficit, New York closer Francisco Rodriguez retired slugger Hanley Ramirez with runners at second and third to secure the victory. Anibal Sanchez (5-3), who had won four straight starts, took the loss for Florida. Cardinals 8, Brewers 0: In St. Louis, Adam Wainwright threw his first career shutout to lead St. Louis over Milwaukee. Wainwright (8-3) struck out eight, walked one, and retired the last 18 hitters he faced. He is 5-0 at home and has allowed just two earned runs in his past three starts covering 21 innings. Colby Rasmus hit a two-run homer for the Cardinals, who snapped a four-game home losing streak against the Brewers. Milwaukee starter Randy Wolf (4-5) gave up five runs in 6 2/3 innings. He walked four in the Brewers' fifth loss in six games. Giants 6, Pirates 4: In Pittsburgh, Juan Uribe and Aubrey Huff each hit two-run homers in a comeback sixth inning to help San Francisco erase a four-run deficit and defeat Pittsburgh. Eli Whiteside added a solo home run as the Giants went deep three times against Zach Duke (3-6), who waited to pitch through a three-hour rain delay only to fail to hold a 4-0 lead. Giants starter Jonathan Sanchez (4-4) gave up four unearned runs in 6-1/3 innings, following first baseman Buster Posey's two-base error on a grounder and Andrew McCutchen's two-run double in the second. Diamondback 7, Rockies 6: In Phoenix, Ryan Roberts hit a pinch-hit RBI single in the ninth inning to snap Arizona's losing streak at 10 games, beating Colorado. Gerardo Parra set up Roberts' winning hit with a tying single, driving in Edwin Jackson from second. Jackson, the starting pitcher, came in to run after Rockies closer Manuel Corpas (1-3) hit Mark Reynolds on the left hand with a pitch, forcing the slugger from the game. Justin Upton and Chris Young homered for the Diamondbacks, who finally got to celebrate at home plate after losing four straight in the opponents' last at-bat during an 0-9 trip. Arizona closer Chad Qualls (1-2) pitched a scoreless ninth for the victory. Astros 3, Cubs 1: In Houston, Felipe Paulino struck out seven in eight effective innings, helping Houston defeat Chicago and notch a fourth straight win.