The Astros managed just three hits and two runs in the series finale against the White Sox, but it was just enough to get a 2-1 win to complete the four-game sweep.
Dallas Keuchel pitched seven strong innings, Jose Altuve hit a homer and the Astros manufactured the go-ahead run in the seventh to get the victory.
Altuve's solo shot put Houston up 1-0 in the fourth to help the Astros to improve to a season-high 30 games above .500 (61-31).
Chicago starter Lucas Giolito (5-8) had retired nine straight after Altuve's home run when Yuli Gurriel got Houston's second hit of the game with a double with no outs in the seventh. He took third on a fly ball out by Josh Reddick and the Astros went up 2-1 on a sacrifice bunt by Marwin Gonzalez.
Keuchel (6-8) yielded six hits and a run while walking three to win his third straight decision.
Giolito had one of his best starts of the season, allowing three hits and two runs in a career-high 7 1/3 innings. But he continued to be plagued by a lack of run support with the White Sox being shut out in seven of his starts and managing just one run three other times.
He fared much better than he did in his first meeting against the Astros this year when he gave up a career-worst nine runs in two innings of a 10-1 loss.
Hector Rondon struck out two in a perfect ninth for his seventh save.
Houston's Alex Bregman went 0 for 3 with two strikeouts to snap his 12-game hitting streak, which was the longest active streak in the majors.
Yoan Moncada singled with no outs in the seventh and Yolmer Sanchez walked. Both players advanced on a sacrifice bunt by Adam Engel before the White Sox tied it on a sacrifice fly by Tim Anderson.
Engel doubled with one out in the fifth and reached third on an error by rookie right fielder Kyle Tucker, who made his major league debut on Saturday. But Keuchel left him stranded when he struck out Tim Anderson before Avisail Garcia grounded out.
Giolito had control issues early, walking leadoff hitter George Springer on four pitches before plunking Bregman. He settled down after that, retiring nine of the next 10 batters before Houston got its first hit on the homer by Altuve.
Chicago is off on Monday before right-hander Dylan Covey (3-3, 4.82 ERA) is scheduled to start in the opener of a two-game interleague series against the St. Louis Cardinals on Tuesday.