MINNEAPOLIS -- Wilson Betemit's first homer as a Royal got Kansas City rolling toward an 8-1 lead that seemed too big for even their struggling bullpen to lose.
His second gave that embattled pitching staff just enough of a cushion to hold on against the hard-charging Minnesota Twins.
Betemit hit solo home runs from both sides of the plate and Joakim Soria picked up his 14th save in a hairy ninth inning and the Royals beat the Twins 9-8 on Thursday night.
Betemit hit one left-handed in the second inning after Mitch Maier's two-run shot to help the Royals jump out to an 8-1 lead, then hit one from the right side in the ninth in what proved to be the game-winner. It was the sixth time in franchise history that a player has homered from both sides of the plate in the same game.
"I have to wait for opportunities," said Betemit, who was called up from Triple-A Omaha on May 25. "Every time they give me opportunities to go out there, I play hard. That's the way. Every time they give me an opportunity to play, just go out and do my job."
The Twins scored five runs in the seventh inning, then got two more in the ninth off Soria on a double by Joe Mauer and a single by Justin Morneau.
But Michael Cuddyer lined out to right field with the tying run on first base to end the game.
"We scored nine runs and needed every one of them," manager Ned Yost said. "But, it was a good win for us."
Jose Guillen added three hits and an RBI and Maier also went deep for the Royals.
Denard Span had four hits and an RBI and Jason Kubel homered for the Twins.
But a poor start from Scott Baker (5-5) and some uncharacteristically sloppy defense and baserunning snapped a six-game winning streak at jam-packed Target Field, where they had their 28th sellout in 29 games.
The first-place Twins pride themselves on winning with pitching and fielding, and both categories were completely out of whack on Thursday night.
"Probably as sloppy as we've played in a long time," Twins manager Ron Gardenhire said. "I don't remember the last time we had a defensive ballgame as bad as that one. Baserunning, pretty bad, too."
Baker gave up five runs and eight hits in five innings, the second time in his past four starts that Minnesota's opening day starter has failed to make it to the sixth inning. And the Twins, who entered the game with a majors-low 16 errors on the season, committed three errors in Kansas City's three-run sixth inning that dug a hole too deep.
The slick-fielding Nick Punto committed two of them at shortstop, his first miscues since July 26, 2009, and Matt Tolbert had another at second base in Minnesota's first three-error inning since July 26, 2003.
"It was an atrocious inning, really, and it cost us the game," Punto said.
Span also had a big mistake on the bases, getting doubled off second base when Maier tracked down a drive from Mauer that Span thought would go for extra bases. Punto could have tagged up and scored from third on the play, but he was hollering at Span to go back to second and didn't realize that the run would count if he could have beat Maier's throw.
"Just bad luck," Span said. "I was wrong. Nobody's fault but mine, but I definitely didn't think he had a chance to catch that."
With little movement on his pitches, the Royals pounded Baker early. Maier and Betemit both went long against him in the second, just the second time this season the light-hitting Royals have gone back-to-back.
Bruce Chen (3-0) cruised through the first six innings, keeping the Twins off balance with a three-quarters delivery and limiting them to one run and six hits as the Royals took a 8-1 lead.
But in his longest outing of the season, the left-hander appeared to run out of gas in the seventh and the Twins scored five runs on six hits to cut the deficit to 8-6. Punto, Tolbert and Mauer all had RBI singles in the inning against Chen and reliever Robinson Tejeda.
Mauer made a brilliant catch in the eighth, reaching around the netting behind home plate and snow-coning a pop up from Maier. ... Royals RF David DeJesus extended his hitting streak to 10 games. He's also hit in 22 straight games against the Twins. ... Span hit a 2B in the third inning, extending Minnesota's streak to 23 straight games with a 2B, which is tied for the longest in the majors this season.