Gray (5-3) is 2-0 against the Tigers this season, allowing one run on six hits in 13 innings.
“I'm pretty familiar with their lineup, which helps, but I think a lot of this was building on some good things I found in my last start before the break,” he said. “I was able to throw my fastball for strikes and I was able to land my breaking ball where I needed it.”
Jose Miranda had three hits and scored twice for the Twins, who are 2-0 since the All-Star break. The bottom three hitters in Minnesota's order -- Miranda, Gio Urshela and Gary Sanchez -- combined for six hits, five RBI and four runs.
“We've been talking about that all season,” Twins manager Rocco Baldelli said. “If you wait for your 1-2-3 hitters to get you going every game, you are going to have a lot of bad days. The bottom of our order has gotten us going a lot this year. Miranda gets something, Gio gets something and we're building from that.”
The Twins took a 3-0 lead in the first with a little help from the Tigers. With one out, Carlos Correa singled and took third on Jorge Polanco’s double. Max Kepler hit a grounder to second, but Correa beat Jonathan Schoop’s throw to the plate.
“We played the infield in, because our offense hasn't been doing a lot lately and we had some concerns about hitting Sonny Gray,” Tigers manager A.J. Hinch said. “Jonathan made the right play, and if the throw is a little more to the catcher's left, he's probably out.”
“It always helps to get an early lead, because it gives me more options,” Gray said. “If I get into a tough count, I can throw a fastball down the middle with conviction and see what they can do with it. If they hit it out, we still have the lead, and I got some outs with that today.”
Garcia (3-3) allowed three runs on three hits and three hit batters in 2 2/3 innings before leaving with elbow soreness. He was activated before the game after having been on the injured list with shoulder problems.
“This is a separate injury than what he was dealing with before,” Hinch said. “This is a pain radiating down his bicep that started on his last two pitches today. I think he'll be shut down again for a bit.”
The Twins scored three runs in the seventh, including RBI doubles by Urshela and Polanco, and Sanchez made it 8-1 with a two-run double in the eighth.
Any thoughts of a late Tigers rally ended in the bottom of the eighth, when Gordon reached over the left-field fence to rob Riley Greene of a home run.
Kody Clemens pitched the ninth for Detroit, the third time he has pitched this season, allowing one run on three hits.
The Tigers (38-58) are a season-worst 20 games under .500 and have lost 11 of their last 13.
“We're here to win games and we're not doing enough of that,” Hinch said. “I don't get caught up in narratives, but this is a team we think we can beat and we've lost two games to them.”
Kepler left the game after being hit on the right foot in the third inning, while Baez came out in the sixth inning with a bruised upper arm after being hit in the fourth.
“Javy got smoked in the nerve right at the end of the elbow. He could play defense, but he wasn't sure he could grip a bat,” Hinch said. “I expect he'll be in the lineup tomorrow -- if he's not, you'll know why.”
X-rays on Kepler's foot were inconclusive, but he was walking around the clubhouse without difficulty after the game.
Twins: Off on Monday, and start a two-game series in Milwaukee on Tuesday. Dylan Bundy (6-4, 4.71 ERA) will get the start against a to-be-announced Brewers pitcher.
'We're not done': Confident Philadelphia Phillies win, secure first postseason berth in 11 years
With Monday night's 3-0 victory over the Astros in Houston, the surging Philadelphia Phillies clinched their first National League playoff berth in 11 years, prompting interim manager Rob Thomson to say "we're not done."
Brandon Marsh makes the catch that ends Phillies' 11-year postseason drought
Phillies celebrate as they advance to the postseason for the first time since 2011.
Hunter Renfroe delivers the walk-off win
Hunter Renfroe lines one to left, giving the Brewers a 6-5 win vs. the D-backs.
Brewers' playoff hopes end despite 6-5 win over Diamondbacks
— Hunter Renfroe homered in a ninth-inning comeback and singled home the winning run in the 10th but the Milwaukee Brewers were eliminated from postseason contention on Monday night despite a 6-5 victory over the Arizona Diamondbacks.
Phillies down Astros for 1st playoff berth since 2011
— Aaron Nola took a perfect game into the seventh inning and Kyle Schwarber homered twice as the Philadelphia Phillies clinched their first playoff berth in 11 years with a 3-0 win over the Houston Astros on Monday night.
Pirates walk it off on a Oneil Cruz walk
Pirates defeat the Cardinals in a 3-2 walk-off victory.