MINNEAPOLIS -- The last-place Kansas City Royals are giving playoff contenders a tough time.
Kansas City has won 10 of its last 14 against teams in first or second place, and Hudson has earned four of those victories.
"Obviously, we're not in the pennant race, so the pressure is not on us," first baseman Mike Sweeney said. "But, we're playing one of the hottest teams in baseball and we're just going to strap it on."
Minnesota, which has lost three in a row overall, fell 1½ games behind Chicago in the wild-card standings. The Twins began the series with a half-game lead on the White Sox after taking two of three in Chicago. But the last-place Royals outpitched them for the second straight night.
Hudson (7-5) recovered from a shaky start, allowing five hits and striking out five to record his sixth win as a starter this year. He loaded the bases by hitting a batter in the first, threw a wild pitch in the third and allowed a homer to Michael Cuddyer in the same inning, but gradually regained control.
"I felt better as the game was going on," Hudson said. "I felt like I was getting a little stronger. I didn't have a whole lot of zip on the ball, so it was just a matter of trying to stay within myself."
Jimmy Gobble threw a scoreless eighth, and Joe Nelson picked up his fourth save in as many chances despite giving up Cuddyer's second home run of the game to lead off the ninth.
The Royals needed only one good inning to spoil an otherwise solid outing by Twins starter Boof Bonser (3-5). He tied his career high with eight strikeouts -- seven swinging -- but was pulled after allowing four hits in the sixth and blowing a 2-0 lead.
"Right now, it's just a hard time offensively," Twins manager Ron Gardenhire said. "(Bonser) threw the ball fantastic, he gave us a chance."
But the Twins batters couldn't took advantage.
Joe Mauer, still the majors' leading hitter at .350, went 0-for-4 and is hitless in his last 15 at-bats. He also committed a throwing error and had a passed ball. Jason Kubel, also 0-for-4, is hitless in his last 16 at bats.
"Unfortunately, the past few days, we haven't been able to sustain much of a rally," Cuddyer said.
Kansas City tied it in the sixth when David DeJesus led off with a sharp single to right and Mark Grudzielanek, 3-for-28 in his previous seven games, followed with a high arching shot to center that eluded Torii Hunter's glove and bounced over the wall for a ground-rule double.
Bonser responded by striking out Mark Teahen for the third time, but Sweeney singled past Jason Bartlett at short to score DeJesus and Grudzielanek.
Emil Brown followed with a single to chase Bonser, and the Royals took a 3-2 lead on Shealy's single off reliever Jesse Crain.
Andres Blanco hit a bloop single to make it 4-2 in the ninth.
The Twins snapped a 19-inning scoreless streak in the third on Cuddyer's two-out homer after Luis Castillo led off the inning with an infield single.
Play was briefly interrupted in the top of the ninth when a fan ran onto the field from the left-field seats. Security subdued the fan and escorted him off the field. ... Castillo left in the sixth with a sprained right ankle while trying to field Brown's single. Castillo is listed day-to-day. Gardenhire said he would be out a couple of days and re-evaluated. ... Twins LHP Francisco Liriano (arm) threw off a mound for the first time since going on the disabled list Aug. 8. Liriano threw about 45 pitches, only fastballs and changeups, in a 20-minute session. ... Cuddyer's homer in the third also broke a 24-inning scoreless streak against Kansas City at the Metrodome.