Aaron Sanchez pitched eight one-run innings, Darwin Barney and Josh Donaldson hit two-run singles in a five-run seventh inning and the Toronto Blue Jays defeated the Kansas City Royals 6-2 Monday night. Sanchez has not lost since April 11 held the Royals to three hits, including a home run by Kendrys Morales, one walk and struck out three as the Blue Jays (46-39) won their third straight game. Edinson Volquez allowed four hits, three walks and four runs in six-plus innings as the Royals (43-39) lost their second game in a row and dropped to 16-28 on the road. The right-hander struck out five and hit a batter. Cubs 10, Reds 4: Kyle Hendricks scattered four hits and did not allow an earned run over 5 1/3 innings while Chicago teammate backed him with three home runs to snap a four-game losing streak in a victory over Cincinnati. Hendricks collected his third win in his last four starts while allowing four hits and one unearned run, walking one and striking out a pair. Addison Russell went 2-for-5 with three RBIs and two runs, Willson Contreras was 2-for-4 with two runs scored while Jason Heyward went 2-or-4 with two RBIs. Brewers 1, Nationals 0: Junior Guerra allowed just two hits in 7 1/3 innings and Martin Maldonado hit a solo homer as Milwaukee beat Washington. Will Smith retired two batters in the eighth for the Brewers and closer Jeremy Jeffress, a Virginia native, pitched the ninth for his 22nd save as a light rain fell. Athletics 3, Twins 1: Oakland scored three runs in the seventh inning in a come-from-behind win over Minnesota. After being held scoreless through six innings, Oakland third baseman Danny Valencia opened the seventh with a double into the right-center field gap, advanced to third on a fielder's choice and scored on a single by Stephen Vogt. A broken bat blooper to shallow left by Billy Butler loaded the bases and two batters later, Coco Crisp singled to center, scoring a pair of runs for a 3-1 lead. Rays 4, Angels 2: Tampa Bay hasn't won often in the last three weeks, but they have had a surprisingly good chance when Matt Moore is pitching. Moore held Los Angeles to two runs in 6 2/3 innings, as the Rays won for just the third time in 19 games. The Angels have now lost 12 of 14 games. The Rays' bullpen, which had allowed runs in 17 of the last 18 games, got the final seven outs. Ryan Garton struck out Mike Trout and got C.J. Cron to pop out foul in the ninth, stranding two runners for his first career save. Astros 2, Mariners 1: Lance McCullers delivered a masterful performance coming off a missed turn in the rotation while George Springer supplied the offense in Houston's win. McCullers produced his best start of the season, working seven dominant innings in his first start since June 22. He allowed one run on five hits and one walk while matching his season high of 10 strikeouts. He retired 14 consecutive Mariners during the middle stretch of his outing and also danced around trouble in the first and seventh innings. White Sox 8, Yankees 2: Tim Anderson and Dioner Navarro each hit two-run home runs, and Chicago pulled away for the win. Anderson finished 2-for-4 with two runs scored and two RBIs. Todd Frazier went 3-for-3 with two doubles, two walks, two runs scored and an RBI as Chicago won its third consecutive game. White Sox right-hander James Shields limited the Yankees to two runs in six innings to win his second straight decision. Shields allowed five hits, walked two and struck out three. Red Sox 12, Rangers 5: Rick Porcello and Boston spotted heavy-hitting Texas four runs in the first inning and then came roaring back to drub the team with the best record in the American League. Porcello, who became Boston's first 10-game winner, shut down Texas for the rest of his six-inning outing. For the second straight day, all nine Red Sox starters had at least one hit as Boston collected a season-high 21 hits. Sandy Leon ripped four hits, Brock Holt, Dustin Pedroia, Travis Shaw and Mookie Betts homered, Xander Bogaerts and Pedroia had three hits apiece and Hanley Ramirez and David Ortiz both stroked two doubles in the victory. The Red Sox have recorded 22 runs on 37 hits in two games. Phillies 8, Braves 2: What was the coldest offense in the majors through the first two months of the year has suddenly become one of the hottest as Philadelphia's deluge continued at the expense of Atlanta rookie Joel De La Cruz. Jerad Eickhoff picked up a win for the fourth time in his last five decisions. It was one of the strongest outings of the season for the 26-year-old, who gave up just two runs on five hits while striking out eight in 7 2/3 innings. The Braves (28-55), who lost for the eighth time in the last 11 games, have the second-worst record in the majors, ahead of only Minnesota (27-55). Pirates 4, Cardinals 2: Gregory Polanco accomplished a first and Pittsburgh is back over .500. Belting two homers in a game for the first time in his major league career, Polanco led Pittsburgh to its fifth straight win. With the Pirates trailing 1-0 in the top of the sixth, Polanco drilled a 2-1 pitch from starter Carlos Martinez 392 feet over the right-field wall. Polanco capped the scoring in the eighth by greeting reliever Seth Maness with his 12th homer of the year, a line drive that sliced inside the left-field foul pole. Giants 3, Rockies 1: Jake Peavy recorded a win on July 4 for the first time in his 15-year career, limiting Colorado to one run over 6 2/3 innings. Buster Posey and Angel Pagan hit home runs off Rockies' Tyler Anderson. The loss was the Rockies' sixth in a row. Mets 8, Marlins 6: Yoenis Cespedes' two-run double with two outs in the eighth inning snapped a tie as New York overcame a six-run deficit to beat Miami at Citi Field. The Mets (45-37) trailed 6-0 in the fourth inning before storming back to earn their fifth straight win. The Marlins (43-40) have lost five of seven. Jerry Blevins earned the win by stranding a runner at third for the final out of the eighth. Right-hander Jeurys Familia notched his 29th save despite allowing a hit and walk in the ninth. Indians 5, Tigers 3: Mike Napoli's two-run home run in the seventh inning broke a 3-3 tie and lifted Cleveland to a victory over Detroit at Progressive Field. With the win, Cleveland is 10-0 vs. Detroit this season. The American League Central Division-leading Indians extended their lead over the second-place Tigers to 6 1/2 games. The loss snaps Detroit's six-game winning streak. Reliever Jeff Manship (1-1) pitched 1 1/3 perfect innings to get the win and Cody Allen pitched the ninth to earn his 18th save. Padres 8, Diamondbacks 4: Derek Norris homered, doubled and drove in three runs to help lead San Diego past Arizona. Yangervis Solarte also homered, Matt Kemp doubled home a run and Ryan Schimpf added a pair of doubles for the Padres, who have won three of four. Norris left the game in the bottom of the eighth after he was hit on Brandon Drury's backswing. Luis Perdomo (3-3), allowed three earned runs -- the fourth straight start in which he's given up three or more -- over six-plus innings but earned his first win since June 15. Dodgers 7, Orioles 5: Chase Utley registered three hits and drove in two runs as Los Angeles rallied for a win over Baltimore at Dodger Stadium. Yasiel Puig and Yasmani Grandal each hit solo home runs, and Kenley Jansen got his 25th save as the Dodgers used their fifth consecutive victory to remain five games behind the first-place San Francisco Giants in the National League West. Corey Seager went 2-for-5 to extend his hitting streak to 17 games, a career high and the National League's longest this year. — Reuters