Milone, making his second start with Minnesota since being traded from the A's on July 31, lasted a career-worst 1 1/3 innings in a 12-6 loss to the Royals.
After a 34-minute delay before the game that saw no rain, Milone cruised through a 1-2-3 first inning before struggling in a seven-run second when the rain started coming down.
"It was raining hard and he tried to pitch through it, but it was pretty much a mess out there," Gardenhire said. "I don't think he had a feel for the ball. They just kept putting the ball in play and finding holes against him. So it was a tough inning."
Second baseman Brian Dozier echoed Gardenhire's sentiments, saying it was among the worst playing conditions he'd ever seen.
"It was terrible to be honest with you," Dozier said. "I can't even begin to describe it. I don't know if I've ever played in that wet of weather. It was coming down pretty good. It's one thing to play through the rain, but it's another with how that inning progressed. It's not fair to Tommy."
Milone tried to pitch through the downpour and loaded the bases with none out before giving up a two-run single to Alcides Escobar on a comebacker up the middle. Jarrod Dyson followed with a walk to load the bases again to set the stage for a two-run single from Nori Aoki.
Omar Infante then hit a grounder to Dozier, who was playing in and slightly lost his footing on the play, leading to a two-run error to put the Twins in a 6-1 hole.
After the miscue, Salvador Perez singled to knock Milone from the game with just one out in the second to mark the shortest start of his career. His previous shortest outing came on July 10, 2013, when he went 2 2/3 innings against the Pirates while with the A's.
"I couldn't really get a good feel," said Milone, who was charged with giving up seven runs -- six earned -- on four hits, two walks and a hit batter. "I was trying not to walk guys, so I just kept leaving it over the plate. It was pretty tough. It seemed like every time I got a new ball it was just soaked. But it's just one of those where you try to forget about it."
Right-hander Samuel Deduno replaced Milone and surrendered a run on an RBI single from Billy Butler, but he was able to get out of the inning by getting Alex Gordon to ground into a double play.
The offense backed Royals right-hander Jeremy Guthrie, who allowed four runs on five hits and two walks over seven innings to get the win. He remained in the game despite a 54-minute rain delay that began with one out in the bottom of the fourth.
"Obviously the big lead early was huge for us," Guthrie said. "It allowed me to just really go out there and attack, and not worry too much about stuff out there, the way the offense was going."
The Twins opened the scoring in the first inning on an RBI single from Kennys Vargas to bring home Danny Santana, who tripled to lead off the frame. The Twins scored again in the third on a solo shot from Joe Mauer to left field. It was Mauer's fourth homer of the year and came on a first-pitch fastball.
The Royals padded their lead with a two-run blast from Gordon in the fifth off left-hander Caleb Thielbar. The Twins answered with a two-run blast from Vargas in the bottom of the inning for his third career homer. Vargas doubled in the eighth and scored on Oswaldo Arcia's two-run homer off Jason Frasor.
Kansas City added two more runs in the seventh against reliever Ryan Pressly with Perez launching a solo shot to left and Josh Willingham lacing an RBI double after Gordon tripled. Willingham capped the scoring with a ninth-inning blast off former teammate Brian Duensing.
"We're playing a good team right here," Gardenhire said. "They're in first place and they made us pay with a big inning. But we had some nice swings with Mauer, Vargas and Arcia all putting it in the seats. We scored some runs. But when you have a seven-run inning early, you're just playing catch up the rest of the day."