ATLANTA -- Quinshad Davis threw a 37-yard touchdown pass to quarterback Marquise Williams, capping North Carolina's comeback from a three-touchdown deficit, and the Tar Heels beat Georgia Tech 38-31 on Saturday.
Georgia Tech led 21-0 before North Carolina (4-1, 1-0 Atlantic Coast Conference) began its comeback with two touchdowns in the final 90 seconds of the first half. That started a run in which the Tar Heels outscored the Yellow Jackets 38-10.
Williams' go-ahead touchdown catch came less than 4 minutes into the fourth quarter. Williams handed off to running back T.J. Logan, who ran left and handed off to Davis. The receiver stopped and threw to Williams, who was wide open for the touchdown.
It was Williams' third career touchdown catch, and each came from Davis. Williams added a 28-yard touchdown run on a fourth-down play with about 5 minutes remaining.
Georgia Tech (2-3, 0-2) has lost three straight.
The Tar Heels ended a streak of eight straight losses at Georgia Tech since their last win in 1997.
Williams made big plays as a runner, passer and receiver in answering any question about his status as the starter. North Carolina pulled Williams during last week's win against Delaware for backup Mitch Trubisky.
Williams ran for 148 yards and two touchdowns, threw for 134 yards and added the scoring catch.
Elijah Hood ran for 60 yards and two touchdowns.
Following Williams' 28-yard touchdown run, a 37-yard field goal by Georgia Tech's Harrison Butker cut North Carolina's lead to seven points. Georgia Tech then recovered an onside kick before a replay confirmed officials' ruling the ball was touched by the Yellow Jackets before traveling 10 yards.
The Yellow Jackets began one final possession at their 30 with 1:04 and no timeouts remaining. Thomas' last pass was intercepted by M.J. Stewart.
Williams' touchdown catch came one play after Georgia Tech quarterback Justin Thomas fumbled when hit by linebacker Cayson Collins. Junior Gnonkonde recovered the fumble and returned the ball 20 yards.
Thomas completed 12 of 21 passes for 162 yards with one touchdown and one interception. He ran for 56 yards and two touchdowns.
North Carolina's defense stopped a fourth-down run by Thomas at the Tar Heels' goal line early in the fourth quarter. Georgia Tech had converted its three previous fourth-down plays.
Thomas scored from the 1 to cap the Yellow Jackets' third marathon drive for a 21-0 lead. With less than 5 minutes remaining in the half, Georgia Tech's overwhelming advantage in time of possession was 20:38 to 4:48.
North Carolina finally put together its first scoring drive. A 13-yard run by Hood set up Williams' 2-yard touchdown run with only 1:29 remaining.
Georgia Tech, which had special teams problems in last week's loss at Duke, had a low snap on a punt to help the Tar Heels cut the lead to 21-14. Williams' 19-yard pass to Davis set up Williams' 7-yard scoring run for the Tar Heels' second touchdown of the final 90 seconds of the half.
Georgia Tech defensive tackle Adam Gotsis was called for targeting for a helmet-to-helmet hit on Williams early in the second quarter. A review, which appeared to show contact was made with Gotsis's facemask, confirmed the call and the senior defensive leader was ejected.