Jason Heyward tied it with a single in the ninth inning and his liner to left-center in the 13th won it as the Chicago Cubs beat the San Francisco Giants 3-2 Sunday to take three of four games in a possible playoff preview. Anthony Rizzo led off the 13th with a single off Matt Reynolds (0-1) and went to second on Ben Zobrist's sacrifice. Addison Russell was walked intentionally before Heyward drove in his third run of the game. Trevor Cahill (4-4) worked a perfect inning in a series in which all four games were decided by one run. The Cubs were staring at a second straight loss when Russell led off the ninth with a double against Santiago Casilla. He went to third on a wild pitch and scored on Heyward's single up the middle to hand Casilla his seventh blown save. Mets 5, Nationals 1: Curtis Granderson and Jay Bruce had two-run homers, and starter Seth Lugo allowed one run over seven innings for host New York. Brewers 10, Pirates 0: Jonathan Villar's pinch-hit grand slam broke the game open in the sixth as visiting Milwaukee completed a three-game sweep. Dodgers 7, Padres 4: Jose De Leon struck out nine while winning his major league debut for host Los Angeles. Braves 2, Phillies 0: Julio Teheran pitched six sharp innings and Matt Kemp homered for visiting Atlanta. D'backs 8, Rockies 5: Socrates Brito snapped a seventh-inning tie with a three-run homer for visiting Arizona. Tigers 6, Royals 5: Justin Upton hit a two-run homer with two out in the eighth inning for visiting Detroit. Yankees 5, Orioles 2: Chase Headley and Austin Romine had two RBIs apiece, and visiting New York avoided a three-game sweep. Astros 7, Rangers 6: George Springer and Evan Gattis homered as Houston won on the road, snapping Texas' seven-game winning streak. Blue Jays 5, Rays 3: Russell Martin had a tiebreaking two-run homer in the eighth to help Toronto win at Tampa Bay. White Sox 13, Twins 11: Jose Abreu hit two three-run homers, and Tim Anderson's two-run double in the top of the 12th boosted Chicago. Red Sox 1, A's 0: Eduardo Rodriguez allowed one hit over eight innings, but reliever Craig Kimbrel yielded a run-scoring double to Khris Davis in the ninth as host Oakland prevailed. Angels 4, Mariners 2: In Seattle, Albert Pujols and C.J. Cron hit back-to-back home runs and six relievers shut down the Mariners after starter Matt Shoemaker was hit in the head with a line drive. Indians 6, Marlins 5: Jose Ramirez singled home two runs, and Lonnie Chisenhall singled home the game-winner as host Cleveland rallied for three in the ninth. — Agencies