A fielding error by Pedro Florimon allowed Alex Gordon to score the go-ahead run in the top of the seventh and the Kansas City Royals won a season-high eighth straight game with a 4-3 victory over the Minnesota Twins in the middle test of a three-game set.
Tied at 2-2 and with Caleb Thielbar (1-1) pitching for the Twins, Gordon ripped a two-out triple to right-center. Hosmer then hit a grounder towards Florimon, who was unable to pick up the ball, allowing Gordon to reach home.
Casey Fien came in relief, and Hosmer stole second and scored on Billy Butler's base hit to center.
Royals starter Jeremy Guthrie (11-7) gave up two runs on six hits and a pair of walks over six innings to pick up his third consecutive win. Greg Holland pitched a scoreless ninth to notch his 28th save.
Florimon had a home run while Chris Herrmann and Trevor Plouffe drove in a run apiece for the Twins, who have lost three straight. Starter Kevin Correia allowed 10 hits but just two runs in six frames.
"He did a decent job for us," Twins manager Ron Gardenhire said of Correia. "He ran out of gas basically and I can see why. There were a lot of men out there on base and he was out of the stretch an awful lot."
In the second, David Lough smacked a one-out double to right center and scored on Miguel Tejada's single to right.
Two innings later, Gordon hit a leadoff single and Hosmer doubled to left. Butler brought Gordon home with a sacrifice fly to right.
However, the Twins clawed their way back. Florimon clubbed a 1-0 changeup for a home run to right center with one out in the fifth.
Joe Mauer, Justin Morneau and Ryan Doumit hit consecutive singles to start the sixth. Plouffe grounded into a fielder's choice to third and Mauer was thrown out at the plate. With the bases still loaded though, Herrmann drew a walk, tying the game at 2-2.
Before they could score more, however, Aaron Hicks popped out and Florimon struck out, ending the inning.
After the Royals took the lead in the seventh, Kelvin Herrera gave up back-to- back doubles to Doumit and Plouffe, the latter driving in a run, to begin the eighth.
Herrera struck out Herrmann but allowed an infield single to Hicks before being replaced by Aaron Crow, who struck out pinch-hitter Chris Colabello and Clete Thomas to stop the rally.
"We're really clicking right now," Crow said. "I think the biggest thing is to not get ahead of ourselves and just take it day by day."
In the ninth, Holland allowed a one-out infield single to Mauer, who reached second on a throwing error by Alcides Escobar. However, Holland struck out Morneau and Doumit to end the game.
Lough went 3-for-4. He is 13-for-39 (.333) in his last 10 games ... Mike Moustakas went 2-for-4 and is batting .324 since the All-Star Break ... The Royals hit 2-for-8 with runners in scoring position while the Twins were 3- for-17 with RISP and left 11 men on base ... Kansas City's James Shields will face Minnesota's Scott Diamond in Thursday's series finale.