KANSAS CITY, Mo. -- Mike Sweeney was ecstatic at 5-for-5, angry at 5-for-6 and finally just happy that Kansas City survived the chaotic night with a win.
The All-Star first baseman got hits in his first five at-bats Friday night in the Royals' wild 12-8 victory over Minnesota. Then, with the bases loaded in the eighth, he finally grounded out.
"I wish I had got that last one," he said. "I'm ticked about that, but that's just being a professional. Baseball is a funny game."
After getting hits in his last three at-bats the night before, Sweeney tied a Royals record by hitting safely in eight straight at-bats. He and David DeJesus each had three RBI as the Royals rapped out a season-high 21 hits. He had three doubles and five singles in the spurt.
"I was focused (on the last at-bat), for sure," he said.
Beset by injuries, Sweeney has missed 24 games.
"I wish I'd been playing like this all year," he said. "But I'm just happy we won."
David DeJesus had a home run and three RBI and seven Royals had more than one hit each.
Jesse Crain (8-1), who had set an American League record with 11 consecutive wins to start a career as a reliever, pitched to only four batters in the wild six-run sixth inning but took the loss.
Leo Nunez (2-1), the third Kansas City pitcher, worked 1 1/3 innings of one-hit relief for the win.
"We kept coming back, they kept coming back," Minnesota's Torii Hunter said. "We had the lead, they had the lead, then we had the lead again. It was a crazy game."
The wild sixth inning saw Royals manager Buddy Bell and Twins reliever J.C. Romero both get ejected and began with a fielding error by shortstop Juan Castro.
After the error, a single and a walk loaded the bases, then DeJesus and Terrence Long hit RBI singles. Sweeney, with his seventh straight hit, put the Royals in front 8-6 with a two-run single off Crain, who gave up four runs on three hits and a walk.
Romero relieved and walked pinch-hitter Tony Graffanino, again loading the bases, but then got Emil Brown to ground to Castro. As another run scored, the Twins turned a close double play and Bell was thrown out by first base umpire Lance Barksdale for arguing.
"A lot of crazy stuff happened out there tonight," Bell said. "We still maintained our poise, except for me. But other than me, I thought we did pretty good."
Mark Teahen's RBI double scored Sweeney for a 10-6 lead, then when Angel Berroa singled, Romero was relieved by Matt Guerrier. Romero raged at plate umpire Greg Gibson as he left the field and was ejected.
"He didn't do his job on the field and then you go and scream at the umpire and get thrown out of the game," Twins manager Ron Gardenhire said. "Screaming at the umpire when you're already being taken out of the game. It makes a lot of sense, doesn't it?"
The Royals scored two more in the eighth on a single, doubles by Teahen and Berroa, and right fielder Lew Ford's throwing error.
Kansas City's J.P. Howell, a left-hander making his sixth major league start, faced only 11 batters. He threw two wild pitches, hit a batter, allowed three walks and two singles, gave up a double to Luis Rivas and a two-run home run to Matthew LeCroy.
Castro's RBI single in the second made it 4-0. Howell, just one year out of college, gave up four runs on four hits in 1 2/3 innings.
Twins starter Joe Mays, who had already beaten Kansas City twice this season, lost his 4-0 lead when the Royals scored four after two were out in the second.
Ruben Gotay and John Buck hit back-to-back doubles, then DeJesus slammed a 1-0 pitch 386 feet for Kansas City's second home run of July.
Sweeney's first double then scored Long for a 4-all tie.
Mays wound up going two innings plus two batters and giving up four runs on nine hits.
The Twins took a 6-4 lead in the fourth on Rivas' RBI triple off Ryan Jensen and Castro's sacrifice fly.
The Royals had a walk, a single and a double but failed to score in a weird sequence in the fourth. With runners on first and second, Long bunted high into the air toward pitcher Terry Mulholland. As the runners held, Mulholland dropped the ball, then threw to third for the force out on Buck.
Third baseman Nick Punto then threw to second for a force on DeJesus, who was standing about 10 feet off the bag looking confused. After Bell argued with umpires, Sweeney doubled into left field and Long was out at the plate on a strong relay from shortstop Castro.
Luis Rivas' two-run double off Jimmy Gobble made it 10-8 in the eighth. Rivas went 3-for-4 with two doubles, a triple and three RBI.
"It was one of those crazy baseball games," Twins catcher Mike Redmond said.
The damage against Howell could have been worse, but Mike Redmond was caught off first base by a good throw from catcher John Buck after singling in the second. ... It was the second time the Royals had four extra-base hits in one inning. They did it in the second inning at the Angels on April 10, also three doubles and a home run. ... It was the second time Bell was ejected as Royals manager.