TORONTO (AP) Troy Tulowitzki drove in the tying and go-ahead runs with a bases-loaded single in the eighth inning, and the Toronto Blue Jays rallied to beat the Detroit Tigers 5-4 on Thursday night for their season-best sixth straight victory.

Tulowitzki finished 2 for 4 with a walk and three RBIs. He is batting .338 (22 for 65) with 20 RBIs in 17 games since coming off the disabled list on June 18.

Jason Grilli (3-2) pitched one inning for the win. Roberto Osuna worked the ninth for his 18th save.

More from FoxSports

After the Blue Jays loaded the bases against Justin Wilson (2-2) with two outs in the eighth, Alex Wilson came on to face Tulowitzki but surrendered a two-run single to right.

ROYALS 4, MARINERS 3

KANSAS CITY, Mo. (AP) - Salvador Perez ripped a double off the wall in the ninth inning, scoring Whit Merrifield and Jarrod Dyson for Kansas City.

Merrifield doubled off Steve Cishek (2-5) leading off the inning, then Kendrys Morales got plunked on the foot. Dyson came in to pinch run and Eric Hosmer struck out before Perez dug in to face the Mariners' closer

He lined a shot off the wall in center for his second career game-ending hit.

Brooks Pounders (1-0) tossed a scoreless inning for his first big league win.

METS 9, NATIONALS 7

NEW YORK (AP) - Wilmer Flores hit a go-ahead, three-run homer and New York rallied in the opener of a pivotal four-game series between the top teams in the NL East.

Travis d'Arnaud, Jose Reyes and Asdrubal Cabrera also went deep for New York in a slugfest that featured eight home runs - most in the eight-year history of Citi Field.

Hansel Robles (3-3) retired Anthony Rendon with the bases loaded to end the fifth and worked 1 1/3 scoreless innings.

Oliver Perez (2-2) allowed three runs in 1 1/3 innings.

YANKEES 5, INDIANS 4

CLEVELAND (AP) - Didi Gregorius had two hits, including a solo homer, and scored twice for New York.

Cleveland, which leads the AL Central, lost its second straight home game after 13 wins in a row at Progressive Field. It had the potential winning run on base with two outs in the ninth, but Tyler Naquin was thrown out on a close play at first.

Yankees right-hander Ivan Nova (6-5) stopped a two-game losing streak.

Rob Refsnyder's sacrifice fly in the sixth chased Trevor Bauer (7-3).

CARDINALS 5, PIRATES 1

ST. LOUIS (AP) - Stephen Piscotty hit a three-run home run and Randal Grichuk also went deep to help St. Louis avoid a four-game sweep and end Pittsburgh's season-best seven-game winning streak.

Adam Wainwright (8-5) worked seven effective innings for St. Louis, which reclaimed second place in the NL Central by a half-game over Pittsburgh to end a rough 4-5 homestand.

Tyler Glasnow (0-1) was charged with four runs in 5 1/3 innings in his debut.

ATHLETICS 3, ASTROS 1

HOUSTON (AP) - Yonder Alonso doubled and drove in two runs and Rich Hill tied a season high with 10 strikeouts in six solid innings for Oakland.

Hill (9-3) allowed three hits and one run to extend his winning streak to six games. Ryan Madson pitched a perfect ninth for his 17th save.

Doug Fister (8-6) went eight innings and gave up two runs on three hits.

ANGELS 5, RAYS 1

ST. PETERSBURG, Fla. (AP) - Albert Pujols and C.J. Cron drove in runs to back starter Hector Santiago and lead Los Angeles.

Pujols snapped a scoreless tie with a sixth-inning single off rookie Blake Snell (1-4).

Santiago (6-4) allowed three hits over seven scoreless innings, improving to 8-1 in the month of July since joining the Angels in 2014.