KANSAS CITY, Mo. — Devon Travis has multiple hits in nine of his past 17 games. This one was different.

Travis hit his second homer of the game in the ninth inning to lift the Toronto Blue Jays over the Kansas City Royals 4-3 on Friday night.

Travis led off the game with a home run, then ripped a 1-2 pitch from Kelvin Herrera (1-3) into the Royals' bullpen for his first career multihomer game.

"He's on a nice little roll right now," Blue Jays manager Josh Gibbons said. "He can turn around anybody's fastball, so, he hit two home runs and it's tough to hit them in this park, you've got to earn them. Anyway, he clutched up late."

Travis hit Herrera's 97 mph fastball that was high and out of the zone.

"I don't know how the guy hit that ball," Herrera said. "I was shocked."

Travis is not sure how he hit it that far either.

"I kind of blacked out," Travis said. "I'm going to go look at the tape. I just tried to open my eyes as wide as I can against him. He's hard enough to see, a hundred (mph fastball) as it is. I'm just thankful everything worked out."

Left-hander Brett Cecil (1-6) pitched a spotless eighth for the victory.

Francisco Liriano made his first start with the Blue Jays after being acquired in a trade Monday with Pittsburgh and yielded three runs, seven hits and two walks while striking out three. Liriano had allowed 11 runs, 14 hits — including four home runs — and eight walks in 8 1/3 innings while losing his final two starts with the Pirates.

Joaquin Benoit worked the ninth for his first save since Sept. 3 while with the San Diego Padres. Closer Roberto Osuna was unavailable after pitching the previous two days and in three of the past four.

Right-hander Dillon Gee held the Blue Jays to three runs and four hits over six innings. He gave up a leadoff homer to Travis, then worked his way into and out of a bases-loaded jam in the first.

"They're a great lineup," Gee said. "I was just trying to give us a chance to win. I was able to do that. I didn't feel great tonight. It was a battle for sure."

The Royals have scored three or fewer runs in nine consecutive games, a club record for offensive futility.

"It's a broken record," Royals manager Ned Yost said. "We just have to find a way to put some runs on the board."

Gee walked Josh Donaldson and Edwin Encarnacion in the third and both scored. Michael Saunders' double scored Donaldson, and Encarnacion came home on Troy Tulowitzki's groundout, giving the Blue Jays a 3-1 advantage.

The Royals tied it in the fifth on Paulo Orlando's leadoff home run and Lorenzo Cain's run-producing triple with two outs.

PILLAR RESTS

Kevin Pillar, who has started 105 games in centre field for the Blue Jays, was not in the lineup after striking out eight times in his last 25 at-bats. He was used in the ninth as a defensive replacement.

TRAINER'S ROOM

Royals: RHP Kris Medlen (rotator cuff inflammation) threw a bullpen session and could begin a minor league rehab assignment soon. ... LHP Jason Vargas, who has not pitched since July 21, 2015 and needed reconstructive elbow surgery, will make his first rehab start Saturday in the Arizona League. He is scheduled to pitch two innings.

UP NEXT

Blue Jays: RHP Aaron Sanchez has not lost since April 22 to Oakland and makes his first August start after going 3-0 with a 1.59 ERA in July. He held the Royals to three hits and one run over eight innings in a victory July 4.

Royals: LHP Danny Duffy struck out a franchise-record 16 Rays in his start Monday and lost his no-hit bid on Desmond Jennings' double in the eighth.