As Sonny Gray walked off the mound two batters into the seventh inning Tuesday, the announced 23,093 fans in attendance at Target Field stood and gave the starter an ovation.

But Gray's 10 strikeouts — which tied a season high from back in May — were just one facet of the Twins' complete game, where they rolled 9-0 past Kansas City to go up two games to none in the series. The bullpen of Caleb Thielbar, Michael Fulmer and Cole Sands maintained the shutout, limiting the Royals to just five hits. Strong defensive plays — including a solo double play from Jose Miranda, catching a liner and then catching the runner off first — also added to that.

And as for the offense, which floundered all last week in California with runners in scoring position, the hitters stacked up 16 hits.

Gio Urshela, who was responsible for four of those hits along with his two RBI and a run, said this "100 percent" feels like the most complete game the Twins have pulled off in quite some time.

"We've got to continue to keep playing like that," Urshela said. "And we've got to go do something big."

With the victory, the Twins improved to 60-55, still tied with the White Sox and one game behind Cleveland in the American League Central. The Royals fell to 48-70 in a distant fourth place in the division.

Gray (7-3) gave up only one walk and three hits, with two of them coming in to lead off the seventh inning before Thielbar came in with two on base and induced three consecutive outs, the final two on strikeouts.

"It was great. I told Rocco [Baldelli], I said, 'Thank you for the opportunity. I will be better in that situation next time,' " Gray said of pitching in the seventh inning, something he's done just three times this season. "That's two days in a row for Caleb to come in in huge spots and to absolutely maneuver his way, dominate his way through some hitters.

"… I want to continue to put myself in those positions to continue to get those opportunities, because I will make the most of them."

The Twins offense successfully hit in every inning. Urshela hit a leadoff single in the second, later coming home on Sandy Leon's safety squeeze bunt. Luis Arraez then delivered an RBI single to make it 2-0.

Gilberto Celestino extended the Twins' lead to three runs in the fourth, hitting a solo homer off the second deck in left field.

Kansas City starter Zack Greinke (4-8) allowed nine hits in his six innings, but the Twins really padded the lead once the bullpen took the mound. They chased Wyatt Mills from the game after three hits, two walks and three runs to double the lead. Max Kepler, Urshela and Nick Gordon all drove in runs.

The onslaught continued in the eighth. Miranda, Urshela and Gordon all tallied RBI singles.

"I don't know, I like it though," Twins manager Baldelli said of the steady offense. "It's clearly having a plan, clearly going in there and using the whole field, knowing what to look for, knowing what to focus your attention on, taking the balls — trying to take the tough pitches to get to the ones that you want. I think we've seen a lot of really good at-bats.

"It's not coming down to just hitting three-run homers and stuff like that, like we've been talking about a lot lately. It's the consistency of approach, and I think that's what we saw."