Anthony Rizzo doubled in two runs while right-hander Jason Hammel snapped a six-game winless streak as the Chicago Cubs posted a 3-1 victory over the Texas Rangers. Hammel (8-5) allowed just one run on three hits as he outdueled Rangers right-hander Yu Darvish, who was making his first start since June 8 and only his fourth big-league appearance since 2014. Closer Hector Rondon worked a perfect ninth for his 15th save. Red Sox 5, Yankees 2: Sandy Leon highlighted a career-high four RBI showing with a three-run home run and Boston ran its season-high winning streak to six games with a victory over New York. Xander Bogaerts drove in the other run for the Red Sox (51-38), who won for the eighth time in nine games. Athletics 5, Blue Jays 4: Rookie Ryon Healy belted a three-run homer for his first major-league hit, Khris Davis launched two solo shots and right-hander Sonny Gray ended his seven-game losing streak as the host Oakland Athletics posted a 5-4 win over the Toronto Blue Jays. Gray (4-8) gave up three runs on six hits over six innings and won for the first time since April 22. He struck out two, walked four and threw 102 pitches. Mariners 1, Astros 0: Hisashi Iwakuma threw seven shutout innings and Robinson Cano drove in the only run of the game with a sixth-inning RBI single as the Seattle Mariners beat the Houston Astros. Iwakuma (10-6) allowed just two hits while striking out eight. Seattle's Leonys Martin had two hits, including a leadoff triple in the sixth that resulted in the only run of the game. Cano followed the triple with an RBI single to left. Orioles 2, Rays 1: Baltimore starter Chris Tillman picked up his 13th win of the season, holding the reeling Tampa Bay Rays to four hits in seven innings as the Orioles pulled out a 2-1 win. J.J. Hardy's two-run homer in the second inning was enough for the Orioles (53-36). Zach Britton pitched a perfect ninth, striking out two, for his 29th save of the season. Phillies 4, Mets 2: Maikel Franco singled home the go-ahead run in the seventh inning as the Philadelphia Phillies beat the New York Mets. Ryan Howard homered for the Phillies, who won for the 11th time in 15 games. Nationals 6, Pirates 0: Tanner Roark took a shutout into the ninth inning, Anthony Rendon had two hits and two RBIs and Stephen Drew had three doubles and scored twice as Washington beat Pittsburgh. Rendon, batting cleanup for the first time this year, had his first homer since July 7 when he went deep in the fifth inning. Roark, who had an RBI single, yielded just five hits in eight innings plus two batters. He left after allowing a single and hit by pitch to start the ninth, and Blake Treinen came on to get the last three outs. Rockies 4, Braves 3: Colorado scored three times in the eighth and once in the ninth for a 4-3 victory over the Atlanta Braves. The Braves aided the Rockies' comeback with three wild pitches and two errors in the final two innings. Royals 8, Tigers 4: Danny Duffy struck out seven while winning his fourth straight decision and Christian Colon drove in two runs, leading the Kansas City Royals to an 8-4 win over the Detroit Tigers. Duffy (5-1), who has won three of his last four starts, gave up four runs and six hits in 6-1/3 innings Brewers 9, Reds 1: Hernan Perez and Jonathan Lucroy each hit two-run homers and Jimmy Nelson pitched seven shutout innings, lifting the Milwaukee Brewers to a 9-1 victory over the Cincinnati Reds. Nelson (6-7) managed the big lead well, allowing six hits with two walks and seven strikeouts. Joey Votto had four of Cincinnati's nine hits, his first four-hit game since 2014. Other results: Cardinals 5, Marlins 0; Angels 1, White Sox 0; Padres 7, Giants 6 (10 innings); Diamondbacks 2, Dodgers 1 (12 innings); Twins 5, Indians 4 (11 innings).