If there is a major difference in the way the Twins are playing after the All-Star break, their 3-2 victory over the White Sox on Saturday highlighted how they have reacted when things don't fall in their favor.

Christian Vázquez thought he hit a go-ahead three-run homer in the seventh inning before realizing the ball hit the top of the wall. A game-tying double, though, was a nice consolation. The next batter, Michael A. Taylor, was unable to drop a squeeze bunt, so he lined an RBI single through the middle of the infield in an eight-pitch at-bat.

Sonny Gray, plagued by walks over the past month, left the bases loaded in the first inning and didn't allow the third inning to spiral after giving up four singles. Griffin Jax, protecting a one-run lead in the eighth inning, pitched around a leadoff double on a softly hit ball that rolled down the right field line and retired his last two batters with two runners in scoring position.

"If one thing doesn't go your way, you don't put your head down and start pouting and saying, 'Shame on me,'" Gray said after he allowed two runs in six innings. "Maybe that's something I've personally been doing a little bit is you start shying away from it. I had the mindset today, I'm going to continue to attack you guys through the middle of the plate and let the cards fall as they may."

The Twins have won seven of their nine games out of the All-Star break and pushed their record four games above .500 for the first time since June 2.

Trailing by a run in the seventh inning, Byron Buxton drew a walk and Kyle Farmer reached on an infield single against reliever Keynan Middleton. Gregory Santos entered to face Vázquez, who knew Santos was looking to use his sinker to induce a double play. Santos' first pitch was a 99-mph fastball and Vázquez lifted it to the top of the left field wall before it deflected back onto the field.

After the initial homer vs. double confusion, Taylor squared to bunt twice. When a foul bunt put Taylor in a two-strike count, he fouled a 101-mph fastball and a 94-mph slider before lining a fastball on the eighth pitch of the at-bat up the middle for an RBI single.

"That's just a massive at-bat," Twins manager Rocco Baldelli said.

The damage against Gray came in the third inning, which included a bit of tough luck. Tim Anderson started the rally with a broken-bat single. When there were runners on the corners with one out and a groundball hitter, Eloy Jiménez, at the plate, Anderson scored easily on a double steal.

Vázquez opted to throw to second base despite a big jump from Luis Robert, the runner at first. As Robert swiped second, Anderson broke to the plate and scored without a throw home. It was a worst-case play for the Twins' defense, recording no outs as both runners advanced a base.

Five pitches after the double steal — Jiménez hit a ground ball to the shortstop — Yasmani Grandal ripped a two-out RBI single down the first-base line, the ball skipping over the bag. Gray gave up four singles and two runs in a 24-pitch inning.

"It started going the same way that some games the last four or five have gone where you feel like you're executing and you're giving up some singles," Gray said. "If you mix in the noncompetitive at-bats in between those, those are the ones that really can get away from you."

Gray retired 10 of his last 11 batters, but that still wasn't enough to match Dylan Cease. The White Sox righthander struck out nine across six innings, permitting only three hits and two walks. Kyle Farmer shook his head in a mix of disgust and bewilderment after he struck out in the fifth inning. Cease even quieted the red-hot Edouard Julien, striking him out twice and inducing a double play.

The White Sox put two runners on base with none out against Jax in the eighth inning. The Twins reliever pitched out of it with a groundout, a broken-bat soft lineout and a strikeout.

"The perseverance of our pitchers today," Baldelli said, "was something I'll remember from this game."