KANSAS CITY, MO. – Christian Vázquez came through in the ninth inning Saturday, knocking in the tiebreaking run with a clutch hit, so naturally, he was proud. But the moment he wanted to talk about afterward came an inning earlier.

That's when Bobby Witt Jr., second in the league in stolen bases last season, took off for second base, intending to get into position to score the tiebreaker himself.

Vázquez foiled that plan, nailing the speedy Witt with a perfect throw.

"I put it on the money. Fastball away, good throw," Vázquez crowed after the Twins rallied to beat the Royals 5-1 at Kauffman Stadium. "It's a big throw there — put it easy to Carlos [Correa]. His job: Put his glove there and close his eyes, you know?"

Well, it might not have been quite that easy, but nothing was for the Twins. They went 3-for-13 with runners in scoring position and tied a franchise record by getting plunked four times by Royals pitching.

"We didn't put a bunch of runs on the board, but we had some good swings. We just couldn't get the right swing at the right time," Twins manager Rocco Baldelli said. "We kept the pressure on them. We got some baserunners, and we took advantage of it late in the game."

They did, thanks to Byron Buxton, who doubled home runs in both the eighth and ninth innings, and Vázquez — who seemingly had killed their best scoring chance in the seventh. With the bases loaded and the Twins still scoreless, Vázquez ended the inning with a double-play grounder.

"It was hard. I don't run fast, you know? I'm slow," Vázquez said. "The second time, I was trying to make it happen, and I did."

Ryan Jeffers was nicked by a Will Smith pitch with one out in the ninth inning, and after Smith walked Willi Castro, Vázquez had his chance at redemption. He lined a single to left field, scoring Jeffers with the go-ahead run and setting off the Twins' biggest inning so far.

Kyle Farmer was intentionally walked, and Alex Kirilloff drove in Castro with a sacrifice fly. Then Buxton followed with his second double in two innings, adding two more runs.

"It was big, just to be able to get things going the way that we did," Buxton said. "Tacking on those extra runs gives us a little breathing room to finish the job."

BOXSCORE: Twins 5, Kansas City 1

Sign up for our Twins Update newsletter

Joe Ryan enjoyed a blissfully quiet start to the season, retiring the first 10 hitters he faced and allowing only three hits and one walk.

"Just like his last start in spring training, he really turned things up. Whatever he turned it up to, he was there again today," Baldelli said of Ryan. "He was great. He had great feel today and great command of all his stuff.

Two of the hits Ryan allowed, however, were doubles by Witt, and while he successfully pitched around the first one, he wasn't given a chance to do it again.

Witt's one-out double in the sixth inning ended Ryan's day, with former Marlin Steven Okert making his Twins debut. Okert, a left-hander, retired Vinnie Pasquantino on a popup, then intentionally walked Salvador Perez, the active leader in home runs against the Twins.

MJ Melendez then hit a routine ground ball to shortstop — except Correa wasn't there, having been shifted behind second base. The ball rolled untouched into the outfield, Witt raced home, and Ryan was suddenly facing a potential 1-0 loss, the Twins' first to the Royals since 2012.

Buxton made sure it didn't happen. After Edouard Julien led off the eighth inning with an opposite-field double, Buxton hit a high chopper that bounded over third baseman Maikel Garcia's head and into left field. By the time Melendez could race over to retrieve it, Buxton was on second base and Julien had tied the score.

"I never took my eyes off the third baseman, so when I saw him jump, it was a no-brainer for me," Buxton said. "I knew the grass would slow it down a little bit more. Melendez has a good arm, but having to charge and go toward the foul line made the throw a little bit tougher."

Four more runs in the ninth, a rally set off by Jeffers' controversial hit-by-pitch — the Royals challenged the call, but a replay could not determine whether the ball had made contact with Jeffers or his uniform — put the game out of reach.

It was the fourth time the Twins had ever been hit by four pitches in a game, the others coming in 1995 in Cleveland, 1971 in Kansas City, and 1970 at Metropolitan Stadium against the White Sox.