TORONTO — Devon Travis hit his second career grand slam and Justin Smoak and Kendrys Morales also knocked in homers as the Blue Jays beat the Texas Rangers 7-6 on Friday night for their fourth win in a row.

Jays arch-nemesis Rougned Odor connected on a 1-1 pitch from Joe Smith for a three-run homer in the top of the ninth to make things very nervous for the 40,754 in attendance at Rogers Centre before Roberto Osuna came in to strike out Mike Napoli to pick up his eighth save of the season.

Travis and Ryan Goins — who had a grand slam on Wednesday night in Milwaukee — have combined for the first Blue Jays grand slams in back-to-back games since 2001.

On an 0-1 pitch from A.J. Griffin (4-2) in the second, Travis emphatically extended his hit streak to 10 games by driving his fourth homer of the season out to left field. The blast scored Justin Smoak, Russell Martin and Troy Tulowitzki, who had been activated from the disabled list earlier in the day.

Jays starter Mike Bolsinger went four-and-two-thirds innings and gave up two runs while Aaron Loup (2-0) earned the victory.

Making their returns following stints on the disabled list, third baseman Josh Donaldson and shortstop Tulowitzki each received rousing ovations when they came to the plate.

Donaldson doubled in his first at-bat and Tulowitzki walked twice and singled to left-centre field in the seventh.

After giving up the grand slam, Griffin struck out Ezequiel Carrera but then left the game after just an inning-and-a-third with a left intercostal strain. It was the shortest start for any Rangers starter this season.

Texas had taken the lead in the second when Napoli walked to start the inning, advanced to third on Travis's throwing error then scored on Jared Hoying's sacrifice fly to left.

Smoak's 11th homer of the season put Toronto up by four before the Rangers chipped away with single runs in the fourth and fifth innings.

Morales's line drive shot to right-centre restored some breathing room and Travis scored on a Jeremy Jeffress wild pitch with the bases loaded in the sixth that proved to be the winning run.