Avisail Garcia's three-run homer capped a four- run seventh inning, and the Chicago White Sox defeated the Houston Astros, 6-1, in the rubber match of a three-game set.
Chris Sale (10-12) fanned 12 and allowed one run -- a homer by Chris Carter in the sixth -- on four hits and a pair of walks over eight-plus innings.
With Lucas Harrell (6-15) pitching for the Astros and the game tied at 1-1, Leury Garcia was walked to start the seventh. He stole second and reached third, as catcher Cody Clark's throw to second was off the mark.
After Gordon Beckham grounded out, Jeff Keppinger hit the go-ahead sacrifice fly to center. Harrell then walked Adam Dunn and Paul Konerko, before giving up Avisail Garcia's third homer of the year, a shot to center. It was his first homer in a White Sox uniform since being traded from Detroit last month.
The White Sox have won 10 of their last 12 games.
Chicago followed its big inning with an insurance run in the eighth. Dayan Viciedo hit a ground-rule double and scored on Leury Garcia's sac fly.
Sale came back on the mound for the ninth, but after walking leadoff man L.J. Hoes, he was replaced by Matt Lindstrom. He got Jose Altuve to ground into a double play before surrendering a single to Matt Dominguez. He struck out Carter to end the game.
Leury Garcia walked to start the game, followed by back-to-back singles from Beckham and Keppinger. After Dunn struck out, Konerko's base hit up the middle made it 1-0.
The Astros struggled offensively, recording just two hits through the first six innings. Carter came through in the seventh, when he clubbed a 1-1 changeup over the left field wall.