Kenny Williams made six 3-pointers and matched his career high with 20 points for the Tar Heels (18-7, 7-5 Atlantic Coast Conference), who roared out of halftime with a 16-2 run that erased what was left of Duke's early lead.

North Carolina led by as many as 10 and saw Duke get to within 74-71 late, but the Tar Heels did just enough to hang on. Theo Pinson punctuated the win with a dunk off the press break with 11.1 seconds left to seal it.

Gary Trent Jr. scored 16 points to lead the Blue Devils (19-5, 7-4), who have lost two straight.

BIG PICTURE

Duke: The Blue Devils were coming off Saturday's loss to a St. John's team that was 0-11 in the Big East - the Red Storm stunningly followed that with a road upset of No. 1 Villanova - in a performance that coach Mike Krzyzewski described as "disgusting" and not up to the program's standards. It looked like Duke was ready to bounce back in the first half, but the Blue Devils couldn't match UNC's second-half edge.

UNC: The Tar Heels hadn't played particularly well coming in, suffering their first three-game losing streak in nearly four years with their only win in the past two-plus weeks coming against a Pittsburgh team that's now 0-12 in the ACC. But Thursday's run after halftime - and their composure for much of the second half, for that matter - was some of the best basketball the Tar Heels have played in weeks.