KANSAS CITY, Mo. — Eric Hosmer finally topped his rookie total from five years ago.

Hosmer hit his career-high 20th homer, Yordano Ventura pitched into and out of trouble, and the Kansas City Royals snapped a three-game losing streak with a 5-2 victory over the Detroit Tigers on Saturday night.

Hosmer homered in the fourth off Michael Fulmer after Cheslor Cuthbert led off the inning with a double. Hosmer’s previous high was 19 as a rookie in 2011.

“It’s what we all strive for to get better and better each year,” Hosmer said. “It came at a good time especially the way Fulmer was pitching, ended up getting us a victory with hopefully a lot more victories to come.”

Ventura (10-9) threw 53 strikes and 52 balls in six innings, allowing one run and six hits with six walks and a wild pitch. He improved to 7-0 against the Tigers, including three wins this season, and is 4-0 overall in his past six starts.

“He was really smart,” Royals manager Ned Yost said. “Some of those balls weren’t because he wasn’t commanding his pitches. He was not going to let the middle of that order beat him. He was pitching around them.”

The Tigers went 1 for 9 with runners on base, stranding nine, while he was on the mound and had a base runner every inning.

“It just came down to us not getting a big hit when we needed it,” Detroit’s Ian Kinsler said. “We had opportunities. We got on base plenty against him. We just couldn’t get a hit to drive in some runs tonight.”

Fulmer (10-6) gave up three runs and seven hits in six innings for the Tigers, falling to 1-4 in his past five starts. He walked one and struck out four.

“The 2-2 pitch to Hosmer, I threw it up and in,” Fulmer said. “I could have gotten it a little higher, but it was in. He put a good swing on it and got the barrel to it.”

Successive bunt singles by Raul Mondesi and Jarrod Dyson led to a run in the fifth as Cuthbert’s two-out single scored Mondesi.

James McCann’s fielder’s choice ground out in the fourth scored J.D. Martinez, who led off the inning with a double, for the only run Ventura allowed.

Alcides Escobar’s bases-loaded single in the ninth scored pinch-runner Terrance Gore and Salvador Perez for the final Kansas City runs. Escobar extended his hitting streak to a season-high 11 games.

Kinsler homered on an 0-2 pitch from Brooks Pounders to lead off the Tigers’ ninth.

Wade Davis, who blew a save Friday, was summoned to get the final outs, striking out Victor Martinez and J.D. Martinez, picking up his 22nd save in 25 opportunities.

ROSTER MOVE

The Tigers purchased the contract of LHP Joe Mantiply from Double-A Erie. In his final 13 outings for Erie, covering 15 innings, Mantiply did not allow a run and held opposing hitters to a .096 batting average. He limited left-handed hitters to a .147 average with a .196 slugging percentage for the season. The Tigers designated for assignment RHP Donn Roach to make roster space for Mantiply, who retired Dyson on a fly ball to end the eighth in his major league debut.

TRAINER’S ROOM

Tigers: 3B Erick Aybar was scratched with left abdominal soreness, which he aggravated while running the bases Friday. Andrew Romine replaced him in the lineup. … RHP Mike Pelfrey, who is on the disabled list with a lower back strain, made his second rehab start Saturday for Triple-A Toledo, giving up five runs on nine hits in 3 1/3 innings at Columbus, striking out one and walking none.

Royals: LF Alex Gordon left in the ninth inning with tightness in his right Achilles.. … OF Lorenzo Cain has not played since Tuesday because of left wrist inflammation. “We’re just trying to get it back to where it’s playable,” Yost said. He said Cain received an injection Tuesday.

UP NEXT

Tigers: LHP Daniel Norris, who starts the series finale, is 0-1 with a 3.09 ERA in two career starts against the Royals.

Royals: RHP Edinson Volquez allowed four runs on nine hits in 3 1-3 innings in his Tuesday start against the Yankees.