See more of the story

The top of the ninth inning showed how quickly things can run off the rails against the Kansas City Royals, one of the hottest teams in baseball.

After homers from Jose Miranda and Trevor Larnach propped the Twins with a five-run lead, reliever Cole Sands recorded two outs and allowed three hits. Jhoan Duran hit a batter and gave up two run-scoring infield singles — all in two-strike counts — while another run scored on Willi Castro's throwing error from third base.

Duran stranded the tying run at third base with a comebacker to the mound, securing a 6-5 victory Monday at Target Field, but the wild ninth inning highlighted starter Joe Ryan's dominance. Ryan, pitching with extra velocity on his fastball, permitted four hits and one run in seven innings.

"It's not just like he's throwing hard," Twins manager Rocco Baldelli said. "He's locating his pitches, he's putting them in great places, and that's a good combination for him."

It took Ryan only two batters to settle into his outing. Twins right fielder Max Kepler made a sliding catch for the game's first out, snaring a line drive, and Bobby Witt Jr. followed with a single. Ryan retired the next 14 batters with just one ball leaving the infield.

When the Twins acquired Ryan from Tampa Bay at the 2021 trade deadline, sending Nelson Cruz to the Rays for half a season, Ryan was known for the unique movement on his 91-mph fastball. That same fastball, on Monday, was up to 96.6 mph.

Kansas City hitters took 12 swings against Ryan's fastball through the first three innings when he was consistently hitting 95-96 mph with his fastball. They accumulated nine whiffs and three foul balls, completely overwhelmed by Ryan's primary pitch.

"He's a different animal when he's throwing that hard," catcher Ryan Jeffers said.

Sign up for our Twins Update newsletter

Ryan (4-3) struck out nine and didn't issue a walk. The Royals didn't have a runner reach third base until the sixth inning, when Ryan already had a five-run lead. Witt and Vinnie Pasquantino produced back-to-back singles with two outs, which led to a run, but Ryan struck out Salvador Pérez with an elevated fastball. Ryan was emotionless as he walked off the mound, turning dominance into an expectation.

He has completed seven innings in three of his last four outings. Against the Royals, Ryan owns a 6-0 record and a 1.49 ERA in eight career starts.

"My goal for the year: just staying consistent and keep the body in check," Ryan said. "I think that's where it starts for me. That's just been the focus. I wouldn't say anything drastic has changed, but that's been it."

BOXSCORE: Twins 6, Kansas CIty 5

Ryan wasn't sure how much his fastball improved in the last few seasons — "Sometimes I think it got worse, just like with other pitches," he said — but he relied on his fastball for more than half of his pitches Monday.

"I'm not trying to search for velo," he said. "I know where the fastball is when it's good and when it's bad. More just physical, like how I'm feeling — I think all pitch types work off that really well for me."

Royals righthander Alec Marsh (4-2), who surrendered a season-high five runs, pitched himself into trouble in the fifth inning after he threw seven straight balls to issue back-to-back walks to Castro and Edouard Julien. Two batters later, Marsh left a fastball over the middle of the plate and Larnach launched it into the second deck for a three-run, 441-foot homer.

Larnach's homer led to an easy conversation in the dugout with Ryan.

"I personally tell him, 'You look great, man,'" Larnach said. "He says: 'Thanks. You, too.'"

The Twins have won five of their last six games.