NEW YORK _ North Carolina held Duke's ultra-talented lineup in check for 35 minutes.
It turned out to be just enough of a cushion to hold off a late rally by the Blue Devils and move into the ACC tournament championship game.
Junior forward Luke Maye scored 17 points to help UNC beat Duke, 74-69, and get a little payback. UNC (25-9) lost to Duke last Saturday in Durham and lost to the Blue Devils (26-7) in the same round last year in Brooklyn.
The win, UNC's first over Duke in the ACC tournament since 1998, sets a championship game matchup between the sixth-seeded Tar Heels and No. 1 seed Virginia on Saturday night.
Maye bounced back from his season-low in scoring in Thursday's win over Miami but it was UNC's defense, swarming Duke and contesting every pass and shot, that was the ultimately the difference.
Duke made a 13-0 run, after falling behind by 16 in the second half, but the rally fell short when Grayson Allen's potential game-tying 3-pointer missed the rim with 4 seconds left.
Duke started 2 for 15 from the 3-point line and finished 6 of 23. Freshman forward Marvin Bagley had 19 points but he wasn't nearly the force he was in Duke's 74-64 home win over UNC last Saturday.
Duke was too passive in its zone and UNC was able to get too many clean looks in the middle and then was able to knock down its share of 3s.
Senior guard Joel Berry (13 points), who missed all seven of his 3s in the loss at Duke, led UNC with three 3s.
The game had a little bit of everything; former Duke stars Kyrie Irving, Jayson Tatum and J.J. Redick came to check out the action. There was even an Allen incident in the first half. The Duke senior, prone to extracurricular contact and tripping incidents, picked up a flagrant 1 foul for a collision with UNC freshman Garrison Brooks.
It was Brooks who provided a big emotional and scoring lift for UNC in the first half. Brooks had eight points, including a dunk on Duke freshman Wendell Carter.
UNC led 36-31 at the half and then stretched it out to 72-56 with 5:56 left on a short jumper by Maye. Duke made a 13-0 run and got as close as three points, 72-69, with 49.1 seconds left, but saw its six-game winning streak over the Tar Heels in the ACC tournament come to an end.