KANSAS CITY, Mo. (AP) Eric Hosmer hit a three-run double, Kendrys Morales drove in another run and the Kansas City Royals hung tough through eight more innings for a 4-2 victory over the Minnesota Twins on Tuesday night that snapped their four-game skid.

Edinson Volquez (13-7) settled down after a shaky start to last seven innings, allowing six hits and two runs - consecutive RBI hits by the Twins' Brian Dozier and Joe Mauer.

Volquez had been hammered for at least six earned runs in three of his past five starts.

More from FoxSports

Kyle Gibson (9-10) also recovered from a brutal start to last eight innings, but the Twins' offense was unable to bail him out. The young right-hander allowed his first six batters to reach, and Hosmer and Morales staked Kansas City to an early 4-0 lead.

Wade Davis pitched a perfect eighth for the Royals, and Greg Holland turned in a flawless ninth - with a spectacular play from shortstop Alcides Escobar - for his 30th save.

Royals relievers had allowed 11 runs in 15 innings during their losing streak.

The streaking Twins, who began the day just 1 1/2 games back of Texas for the final AL wild card, tried to mount a comeback after the Royals took their early lead.

Byron Buxton singled with one out in the third, later scoring on Dozier's base hit, and Mauer followed with an RBI double to make it 4-2. But using some veteran guile, Volquez managed to get Trevor Plouffe to ground out and preserve his lead.

Plouffe also grounded into inning-ending double plays in the first and sixth, as the Twins failed to get a runner to second base the rest of the night.

Kansas City was suddenly having a similarly difficult time against Gibson, who allowed only two hits after his disastrous first inning. Both of them were to Alex Gordon, a two-out double in the second and a single in the fifth.

Gibson allowed six hits and walked two while throwing 101 pitches.

TRAINER'S ROOM

Twins: LHP Glen Perkins (back) is considering a second injection after seeing a spinal specialist in the Twin Cities, manager Paul Molitor said. He last pitched Sept. 1. ... RHP Phil Hughes (back) will throw a 45-pitch simulated game Wednesday.

Royals: Manager Ned Yost bristled when asked whether RHP Johnny Cueto was healthy after another poor start. ''How many times am I going to answer this?'' Yost asked. ''He's absolutely fine. ... I'm not worried about Johnny. He's completely healthy.''

UP NEXT

Twins: RHP Mike Pelfrey gave up seven runs in four innings his last start at Houston.

Royals: RHP Kris Medlen gave up seven runs in 5 2-3 innings his last start vs the White Sox.