DURHAM, N.C. -- Bonzie Colson scored a career-high 31 points and grabbed 11 rebounds, and Notre Dame upset No. 9 Duke 95-91 on Saturday.
Demetrius Jackson added 24 points and Steve Vasturia finished with 22 to help the Fighting Irish (12-5, 3-2 ACC) win their second straight and beat the Blue Devils for the fourth time in five tries.
Freshman Luke Kennard had a season-best 30 points and Brandon Ingram added 25 for the Blue Devils (14-4, 3-2), who have lost two straight for the first time this season.
Grayson Allen finished with 18 points, and he put Duke up 89-88 with two free throws with 47.2 seconds left. Colson then converted a key three-point play with 35.8 seconds remaining to give Notre Dame the lead for good.
Matt Jones missed a 3-pointer that would have tied it with about 20 seconds left and Jackson made it 93-89 with two free throws with 12.8 seconds remaining.
Duke gave itself a chance after Marshall Plumlee dunked to make it a two-point game Jackson missed the front end of a 1-and-1 with 4 seconds left. But Zach Auguste grabbed the rebound, then hit two free throws with 1.7 seconds left to ice it.
Colson, a sophomore, has scored 17 or more points four times in his career -- and two of those have come against Duke. He matched a then-career-high with 17 last year in the Irish's 10-point victory over the Blue Devils in the ACC Tournament semifinals.
Notre Dame took an 86-80 lead with 3 minutes left on Rex Pflueger's 3-pointer with the shot clock buzzer sounding.
Kennard hit two free throws before Allen swished a 3 in front of the Duke bench to make it a one-point game with just under 2 minutes left. After Jackson lost the ball out of bounds for the Irish, Allen hit a short jumper in the paint to put the Blue Devils up 87-86.
Jackson then hit a jumper over Allen with 1 minute left to restore the Irish's one-point lead.