Mike Foltynewicz had a no-hitter through eight innings but settled for a one-hit gem Friday in leading the Atlanta Braves to a 3-1 victory over the Oakland Athletics. A's rookie Matt Olson led off the bottom of the ninth inning with a solo home run to deep right against Foltynewicz for Oakland's first hit of the game. Olson's blast, on a 3-2 pitch, ended Foltynewicz's no-hit bid and night and cut Atlanta's lead to 3-1. Jed Lowrie greeted former A's reliever Jim Johnson with a double to left, but Johnson struck out the next three batters he faced for his 17th save of the season. Foltynewicz (6-5) struck out eight, walked four and threw a career-high 119 pitches. He extended his winning streak to three games. A's right-hander Sonny Gray (3-4) allowed one run and two hits in a season-high eight innings. He struck out four, walked one and threw 98 pitches. Mets 2, Phillies 1: Jacob deGrom won his fourth straight allowing just three hits over seven innings as New York beat Philadelphia. DeGrom (8-3) took a no-hitter into the fifth inning and gave up one run while striking out 12. He has surrendered just three runs over 32 innings in his last four starts, a stretch in which he's lowered his ERA from 4.75 to 3.55. Curtis Granderson had an RBI single in the second for the Mets, who scored the decisive run in the fourth when Jose Reyes tripled with one out and trotted home on Travis d'Arnaud's single. Reds 5, Cubs 0: Adam Duvall hit a three-run homer and Scott Feldman tossed seven outstanding innings as Cincinnati blanked Chicago. Feldman allowed two hits and held the Cubs hitless into the sixth inning when Ian Happ singled. Chicago's Mike Montgomery allowed four earned runs and nine hits in 6 2/3 innings. Royals 8, Twins 1: Jason Vargas pitched seven innings and recorded his 12th win as Kansas City routed Minnesota. Vargas allowed one run and two hits to join Los Angeles Dodgers ace Clayton Kershaw as the second 12-game winner in the majors. Eric Hosmer and Mike Moustakas homered off Ervin Santana, who allowed seven runs (five earned) and eight hits in 5 1/3 innings. Cardinals 8, Nationals 1: Yadier Molina drove in four runs and Mike Leake pitched eight outstanding innings as St Louis routed Washington. Molina had a pair of RBI singles for the Cardinals while Leake allowed one run and five hits. Washington's Tanner Roark allowed three runs and four hits in three innings. Rays 6, Orioles 4 (10 innings): Steven Souza Jr hit a three-run homer in the top of the 10th and Tampa Bay beat Baltimore. Souza homered off Darren O'Day while Wilson Ramos hit his first homer of the season for the Rays. Joey Rickard and Mark Trumbo hit solo homers for Baltimore. Giants 13, Pirates 5: Hunter Pence drove in five runs and San Francisco rolled past Pittsburgh. Denard Span and Brandon Belt homered for San Francisco, which won its fourth straight game. Yankees 13, Astros 4: Brett Gardner hit a grand slam in the seventh inning and New York beat Houston. Gardner drove in six runs and had three hits as the Yankees won for the fifth time in their last 17 games. Ronald Torreyes also had three hits for New York, which was 7-for-18 with runners in scoring position. Brewers 3, Marlins 2: Stephen Vogt homered twice and Milwaukee edged Miami. Vogt hit his first two homers since being signed by the Brewers when he homered off Edinson Volquez and David Phelps. White Sox 8, Rangers 7: Melky Cabrera drove in two runs with a game-ending double just inside the first base line as Chicago rallied with three runs in the bottom of the ninth to beat Texas. Red Sox 7, Blue Jays 4 (11 innings): Xander Bogaerts singled home the go-ahead run in the top of the 11th inning and Boston went on to defeat Toronto. Rockies 6, Diamondbacks 3: Jon Gray allowed two runs in six innings in his first start in over two months as Colorado snapped an eight-game losing streak by beating Arizona. Mariners 10, Angels 0: Robinson Cano hit two homers and drove in five runs as Seattle routed Los Angeles. Dodgers 10, Padres 4: Austin Barnes drove in seven runs and homered twice as Los Angeles beat San Diego in a game that saw both managers ejected during a benches-clearing faceoff in the first inning. Indians vs. Tigers: The game between Cleveland and Detroit was postponed by inclement weather. — Reuters