ST. LOUIS — St. Louis bounced back from a 15-0 blowout the previous night to beat the San Francisco Giants 3-1 Thursday, with Cardinals pitcher Adam Wainwright throwing seven strong innings. Wainwright (10-10) allowed one run and struck out seven. He has given up two earned runs or fewer in his past five starts. Carlos Beltran hit his 27th homer of the season for the Cardinals. Beltran, who leads the NL with 80 RBIs, hit a two-run homer off Madison Bumgarner (12-7) in the first. Bumgarner has given up 15 of his 18 home runs this season on the road. Diamondbacks 6, Pirates 3: In Pittsburgh, Jason Kubel homered twice to lead Arizona over Pittsburgh. Both of Kubel's home runs followed hits by Aaron Hill. Diamondbacks starter Joe Saunders (6-8) allowed two earned runs with no walks in seven innings. Arizona had lost five of his previous six starts. Pirates starter Wandy Rodriguez (7-11) allowed four runs in six innings. He is winless in three starts since being acquired from Houston. Mets 6, Marlins 1: In New York, R.A. Dickey pitched a complete game for his NL-leading 15th win as New York arrested a nine-game home losing skid by beating Miami. Dickey (15-3) struck out 10 and walked none. Jose Reyes, the former Met turned Marlin, saw his 26-game hitting streak end. He went 0-for-4 against the All-Star knuckleballer, twice stranding runners on third base. His hitting streak was the longest of his career and the best in the majors this season. Andres Torres homered, tripled and doubled for New York, driving in the go-ahead run after Reyes lost a popup in the sun. Torres homered off Josh Johnson (7-8) in the sixth and got an RBI triple in the eighth. Nationals 5, Astros 0: In Houston, Michael Morse homered twice as Washington completed a four-game sweep of Houston. Morse drove in three runs and extended his hitting streak to a career-best 18 games, the longest active streak in the majors. Nationals starter Jordan Zimmermann (9-6) matched a career high with 11 strikeouts over six scoreless innings. It was Washington's seventh shutout this season. The NL East-leading Nationals have won six straight and own baseball's best record at 69-43. Astros starter Lucas Harrell (9-8) yielded five hits with five walks in five innings as Houston dropped its fifth straight. Cubs 5, Reds 3: In Chicago, Alfonso Soriano hit a go-ahead homer in the eighth inning as Chicago snapped an eight-game losing streak by defeating Cincinnati on a rain-soaked night. With the score tied 3-3, Reds reliever Sean Marshall (4-4) issued a walk. After the skies cleared and the pitcher changed, Soriano cracked a two-run shot to center field. Shawn Camp (3-5) pitched a perfect eighth for the win. The Reds lost their fifth straight but remained 2½ games ahead of second-place Pittsburgh in the race for the NL Central title. — AP