MINNEAPOLIS -- There was no celebration, no flip of the ball, no over-the-top display of emotion.
When Alex Gordon robbed his first home run since becoming an outfielder, he looked as though he'd done it a hundred times before.
Gordon also stole a home run from Danny Valencia in the second inning, leaping high above the left-field wall and snatching the ball out of the air right before it landed in a row of flowers just beyond the fence.
"I've always been waiting to rob one since I've been playing outfield and that's the first one. It was great," Gordon said with a grin. "Just brought it down, threw it back in. Acted like I've done it before."
Mike Moustakas delivered the go-ahead single in the eighth inning and Alcides Escobar added an RBI single three batters later for Kansas City, which had lost 12 straight before beginning its winning streak.
|More on Royals-Twins|
|More MLB Coverage|
Trevor Plouffe homered for the Twins. Alexi Casilla had two hits and two RBIs, but Minnesota again struggled with runners in scoring position and dropped below the Royals for the worst record in baseball.
A week ago, the Royals probably would have lost a game like this. Now, it's the Twins who can't seem to catch a break.
"We need something to lift us up," manager Ron Gardenhire said. "Same story too many times right now."
Jonathan Broxton struck out Joe Mauer and Justin Morneau for his third save in four chances.
Gordon gave the Royals an early lead with a 439-foot drive off Carl Pavano in the first. Butler's homer in the third made it 4-3 Kansas City.
With the score tied at 5 and runners on first and second with nobody out in the seventh, Royals right fielder Jeff Francoeur made a diving catch on Ryan Doumit's line drive and doubled off Mauer at first base.
Gardenhire briefly argued with umpire Brian Gorman that Francoeur trapped the ball.
The play helped former Twins reliever Jose Mijares (1-1) wriggle out of a jam and get a win in his first appearance at Target Field since Minnesota let the big lefty leave as a free agent during the offseason.
"Clutch hitting, some pretty darn good clutch pitching, some really good defense," Royals manager Ned Yost said. "They're not always going to be pretty, they're not always going to be easy. We grinded it out. That's the kind of club we've got."
Brian Duensing (0-2) allowed two runs in relief of Pavano, who gave up five runs - four earned - in 6 1-3 innings. Twins starters have just two wins and haven't won since April 18.
Moustakas drove a single to center off Duensing that scored Francoeur and gave the Royals the lead for good.
"I was able to sneak one over the shortstop's head for a single," Moustakas said before changing the subject to Gordon's spectacular catch. "He goes after every ball like he's got a shot to rob it. He was camped underneath it and got up pretty good and brought it back for us. Great play."
Everett Teaford allowed four runs and eight hits over four innings for Kansas City. Teaford got the start in place of Danny Duffy, who was skipped because of elbow soreness.
Making his fourth career start and first this season, Teaford failed to hold leads of 2-0 and 4-3 and was removed after 75 pitches.
The Twins played without slugger Josh Willingham, who has been on paternity leave since Wednesday.
Even without Willingham, the Twins have 26 hits in their last two games.
But after Casilla made it 6-5 with an RBI groundout in the eighth, Denard Span grounded out to first and stranded Plouffe at third to end the inning.
The Royals won their first one-run game. ... The Royals recalled OF Jarrod Dyson and optioned OF Jason Bourgeois to Triple-A Omaha before the game. Dyson hit .333 with seven steals in 15 games at Omaha. ... The Royals send Bruce Chen to the mound Saturday in the second game of this three-game series. Chen is 0-2 with a 2.52 ERA and went 1-1 with a 2.39 ERA in four starts against the Twins last season. ... RHP Jason Marquis starts for the Twins. The veteran signed with Minnesota in the offseason and is 1-0 with a 7.15 ERA in two starts.