WATCH LIVE: Live stream of Jason Van Dyke trial in Laquan McDonald murder case

Astros complete sweep of White Sox with 2-1 win

Yuli Gurriel #10 of the Houston Astros scores on a sacrifice bunt by Marwin Gonzalez #9 in the seventh inning as Kevan Smith #36 of the Chicago White Sox looks on at Minute Maid Park on July 8, 2018 in Houston, Texas. (Photo by Bob Levey/Getty Images)

HOUSTON — Houston’s offense cooled off on Sunday after the Astros piled up 23 runs and 30 hits combined in their last two games.

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.

“It was minimal offense … but the ability to win when maybe you shouldn’t win or when you don’t put up enough offense is a good feeling,” Houston manager A.J. Hinch said. “Our defense was good again, our pitcher set the tone with Dallas. You’ve got to win a lot of different ways over the course of a full season and we do.”

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.

“It seems like everybody does their part and that’s how we win,” Keuchel said.

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.

“What a great outing for Lucas,” Chicago manager Rick Renteria said. “It seemed like he had everything working today. He was really calm, composed.”

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.