Updated

Houston, TX (SportsNetwork.com) - Dallas Keuchel threw a four-hit shutout and Houston topped Chicago 3-0 on Saturday in the second edition of a three-game set.

Keuchel (7-1) struck out a career-high 11 batters and did not issue a walk during his 113-pitch performance.

"That was a great game to watch from my seat. He's as competitive as anybody we have on our team," said Astros manager A.J. Hinch. "He was in complete control of the game, really, from the beginning. When he gets in the zone, he's borderline unapproachable."

Evan Gattis and Chris Carter homered in the eighth inning for the Astros and Jonathan Villar knocked in the other run despite committing a pair of errors.

Houston's 31-19 record is tied for the best 50-game start in franchise history.

Jose Quintana (2-6) struck out seven but walked four despite giving up only a run on five hits over 6 1/3 frames for the White Sox.

Keuchel's teammates were largely held in check by Quintana until the seventh, when they forced the Chicago starter from the game after a Marwin Gonzalez one-out single. Jake Patricka allowed a hit to Jake Marisnick, but George Springer fanned and Jose Altuve flied out.

Villar's error allowed Geovany Soto to reach in the eighth, but Keuchel bore down to strike out Carlos Sanchez, and Adam Eaton lined into a double play where pinch-runner J.B. Shuck was caught off first base.

Gattis and Carter then went deep in consecutive at-bats in the eighth to provide some breathing room at 3-0.

Keuchel came back out for the ninth and retired the side, getting Emilio Bonifacio on a grounder to second, Avisail Garcia on a grounder to first and fanning Melky Cabrera swinging to cap the contest.

"He was great," White Sox manager Robin Ventura said of the opposition hurler. "I don't know if we faced anybody as tough as him."

Houston hit the scoreboard in the fourth. Preston Tucker hit a leadoff single, Gattis added a hit which moved Tucker to third (Gattis was thrown out at second), Carter walked and Villar's fly scored the run.

Keuchel only had easy frames in the first and seventh innings. He had to work around Villar's first fielding gaffe in the second, stranded a runner on third in the next inning, erased Cabrera's single in the fourth and neutralized a Gordon Beckham hit in the fifth with a double-play liner from Soto.

Game Notes

The 1998 Astros also started 31-19 on the way to a club-record 102-win season ... Saturday's victory was Keuchel's second career shutout and his eighth career complete game. His last shutout was May 13, 2014, vs. the Rangers ... Keuchel's pitch count was just two off his season high of 115, done over an eight-inning stint at San Diego on April 29 ... Keuchel went the distance on the road in his last start, a 4-3 loss at Baltimore on Monday ... The Astros have hit back-to-back homers three times this season, doing so for the first time since May 2 against the Mariners.