Garcia hit an RBI triple in the second off of lefty Adalberto Mejia, who was making his first career start. He added a single in the fourth before connecting on a two-run blast off right-hander Justin Haley in the sixth. He had a chance to hit for the cycle in the eighth, but grounded out to shortstop.
"I feel more confident but have to keep working hard and play hard every day," Garcia said. "That's the only thing I can control."
Geovany Soto followed Garcia's home run with one of his own off Haley, who pitched 3 2/3 innings in relief of Mejia. The latter was pulled after just 1 2/3 innings after giving up three runs (two earned) on two hits.
"I wanted to do my job and go out there and throw strikes," Mejia said through a translator. "When [manager] Paul [Molitor] came out, I wasn't mad, I was more frustrated than anything. With myself."
The back-to-back homers came after Jason Castro launched a two-run long ball for the Twins in the sixth to make it a one-run game. The two-run homer was the lone blemish for Gonzalez, who surrendered two runs on seven hits, with six strikeouts over six innings.
"After having seven days off, it was a little tough, but I was able to minimize damage and be under control after that and just started rolling," said Gonzalez, whose start was pushed back because of a rainout. "Soto did a really good job back there changing speeds in that first inning. That kept me in the game."
Moments that mattered Back-to-back blasts: Minnesota's bullpen hadn't allowed an earned run this season entering Saturday's game, and the Twins got back into the game thanks to Castro's two-run homer. But the White Sox essentially put the game away with Garcia's deep drive to center, and Soto's homer to left. Per Statcast™, Garcia's homer left the bat at 107.3 mph and traveled a projected 442 feet, and Soto's homer had an exit velocity of 108.1 mph, going a projected 396 feet. It was Garcia's third-farthest-hit homer dating back to 2015.
Costly timing for first error: The Twins played crisp defense in their first four games and hadn't committed an error until third baseman Miguel Sano botched a rundown following Garcia's triple. Garcia was picked off third following Soto's unsuccessful bunt attempt, but Sano couldn't catch him on the way to the plate. His flip home sailed high, and he was charged with his first of two errors on the afternoon.
"I ran too close to the plate and I flipped the ball to home, but it was too late," Sano said. "So it was an error. I tried to touch Garcia, but he's got more speed than me. I'm supposed to make the out there." More >
Sound smart with your friends Todd Frazier collected his first hit of the season when his sixth-inning single to right field snapped an 0-for-13 skid. Garcia and Soto followed with home runs for a three-run White Sox inning. Frazier drew a 14-pitch walk, and lined out earlier in the game.
White Sox manager Rick Renteria especially liked the walk.
"Huge -- that at-bat probably set the tone for the next hitter," Renteria said. "Fraz has been working really, really hard on trying to just stay on the ball a little bit longer. It paid off in that at-bat, in that he fought off quite a few pitches."
Second baseman Brian Dozier turned an impressive double play in the fourth, making a diving stop up the middle on a hard-hit grounder from Soto and flipping to shortstop Jorge Polanco, who completed the transaction with a throw to first.
"We got a nice hop off the mound and it gave us a chance," Molitor said. "It kind of skipped and changed directions a little bit. Any time you can react like that with full extension and a glove flip, it's a pretty double play."
What's next Twins: Right-hander Ervin Santana starts the series finale for the Twins against the White Sox on Sunday at 1:10 p.m. CT. Santana was sharp on Opening Day, allowing one run on two hits over seven strong innings in a win.
White Sox: Left-hander Jose Quintana makes his second start Sunday at 1:10 p.m. CT after allowing six runs and a career-tying three home runs against the Tigers on Opening Day.