Ryan (5-2) allowed one run on five hits in 5 2/3 innings with six strikeouts.
“It was a good game overall,” Ryan said. “The boys brought good run support, which takes a lot of pressure off.”
Minnesota had a pair of two-run innings and was ahead going into the ninth, when the offense erupted — including two-run double by Carlos Correa. The top six batters in the Twins lineup all collected RBI in the win, and Minnesota’s Luis Arráez had two RBI and scored on a wild pitch.
“I thought we battled through the beginning of the game, but we stayed on them and but some good swings on the ball,” Twins manager Rocco Baldelli said. “Overall, it was a great offensive effort and just what we were looking for.”
Brad Keller (1-4) tossed seven innings for the Royals, giving up four runs on five hits with four strikeouts and three walks. He also notched his 400th career strikeout in the sixth inning.
Royals manager Mike Matheny said Keller "made really good pitches all evening long and pitched well enough to give us a chance to win.”
Kansas City entered the game batting .154 with bases loaded and came up empty in its lone opportunity in the sixth, trailing 4-1 at the time. The Royals left eight on base overall.
Twins: Selected the contract of LHP Trevor Megill from Triple-A St. Paul and optioned LHP Devin Smeltzer to Triple-A. Minnesota also designated RHP Chris Vallimont for assignment.
Twins: Placed RHP Josh Winder (right shoulder impingement) on the 15-day injured list and activated Bailey Ober from the ten-day IL.
Bailey Ober (1-1, 2.75) is scheduled to start for Minnesota in the series finale on Sunday afternoon. Kansas City had not announced a starter as of Saturday night.
Mahle ends long drought, Reds thump Giants 10-3
— Tyler Mahle pitched into the seventh inning for his first victory in more than a month, and the Cincinnati Reds routed the San Francisco Giants 10-3 on Sunday.
Eight ejected after wild brawl between Mariners and Angels
An all-out brawl breaks out as Jesse Winker charges Phil Nevin after being hit by a pitch from Andrew Wantz in the top of the second inning.
Aaron Judge, New York Yankees, 'the best team on the planet,' end hitless drought, rally for victory
Yankees star Aaron Judge drove a three-run homer in the 10th inning for his second walk-off hit against the Astros in four days, and New York recovered after nearly being no-hit for the second consecutive game to defeat Houston Sunday.
Reds rack up 7 runs in the 3rd to beat the Giants
The Reds go wild in the third inning, earning seven runs in a 10-3 win over the Giants at Oracle Park.
Xavier Scruggs: Momentum was building before M's-Angels brawl
The Baseball Tonight crew reacts to the huge brawl between the Mariners and Angels on Sunday that led to eight people being ejected.
Cubs overcome 5-run deficit to beat Cards 6-5, Flaherty hurt
— Willson Contreras hit a tiebreaking single in the 10th inning to drive in his third run of the game, and the Chicago Cubs overcame a five-run deficit to be the St. Louis Cardinals 6-5 on Sunday.