Kopech struck out a career-best 11, walked three and threw 85 pitches.
Manager Tony La Russa brought in reliever Reynaldo Lopez to start the seventh, and the combined no-hit bid ended immediately when Detroit’s Javier Baez led off with a single to right-center. Lopez retired the next three batters to end the inning.
The 26-year-old Kopech missed the 2019 season while recovering from Tommy John surgery and opted out in 2020 for health reasons.
He entered Friday night’s game at 4-8 with a 3.39 ERA. He has not thrown more than 100 pitches or worked more than seven innings in a start this year.
Andrew Vaughn hit a tiebreaking two-run single in the seventh inning to lead Chicago to a 2-0 victory.
The Associated Press contributed to this report.