Johan Santana won for the first time in 20 months, finally getting some run support from his teammates, and the New York Mets beat the Arizona Diamondbacks 4-3 Saturday to snap a four-game losing streak. Mike Nickeas and Andres Torres each hit a two-run single to back Santana, who toughed out seven innings for his first victory since the two-time Cy Young Award winner had shoulder surgery in September 2010. Daniel Murphy went 4 for 4 for the Mets. Santana's last win came against Atlanta on Sept. 2, 2010, before his injury wiped out last season. The Mets had scored just four runs in his first five starts this year but matched that total in the fourth inning Saturday. Santana (1-2) allowed nine hits and gave up three runs, striking out five and walking one. Patrick Corbin (1-1) allowed four runs on five hits and two walks with two strikeouts in 3 1-3 innings for Arizona. Nationals 7, Phillies 1: Gio Gonzalez allowed one run over seven innings and Washington hit a season-high three home runs in the win over Philadelphia. Jayson Werth hit a three-run drive, Chad Tracy connected with a man on and Ian Desmond had a solo shot for the Nationals, who have won seven straight over the Phillies dating to last year. Gonzalez (3-1) gave up four hits, struck out seven and walked one. Acquired last December in a trade with Oakland, the left-hander has a 1.72 ERA in six starts this season and has yielded only three runs over the last 27 innings. Philadelphia starter Vance Worley (2-2) gave up five runs and 11 hits in six innings. Dodgers 5, Cubs 1: Chris Capuano threw seven shutout innings and drove in two runs to lead Los Angeles past Chicago. Capuano (4-0) held Chicago to three hits and struck out seven, extending his scoreless innings streak to 18 2-3. His two-run double in the second gave him his first RBIs since Aug. 24, 2007. Cubs starter Chris Volstad (0-4) fell to 0-9 over 17 starts dating to July 10. He allowed four hits and five runs over five innings, walking three and striking out one. The first-place Dodgers avoided their first three-game losing streak of the season. Giants 5, Brewers 2: Madison Bumgarner shut down Milwaukee for seven innings and added an RBI double to win his eighth straight home start as San Francisco snapped a four-game skid. Buster Posey and Brett Pill added RBI hits in a three-run sixth inning against Randy Wolf to give Bumgarner (5-1) all the support he needed. The Brewers got NL MVP Ryan Braun back in the lineup after he missed Friday's series opener with a sore right Achilles and he hit a solo homer in the eighth inning. The Giants had not led a game at any point during their recent skid and struggled early against Wolf (2-3), putting just one runner in scoring position in the first four innings. Astros 8, Cardinals 2: Chris Johnson hit his first career grand slam, Bud Norris continued his dominance of St. Louis and Houston won its fifth straight for the first time since late 2010. Pirates 3, Reds 2: Neil Walker hit his first homer since September and James McDonald put together another strong start to lead Pittsburgh over Cincinnati. Braves 13, Rockies 9: Chipper Jones had three hits and matched a career high with five RBIs, and Atlanta overcame a grand slam by Michael Cuddyer to beat Colorado. Marlins 4, Padres 1: Mark Buehrle threw a five-hitter and pinch-hitter Greg Dobbs singled in the go-ahead run to lift Miami over San Diego for its season-high fifth straight victory.