DURHAM, N.C. _ No. 11 Louisville extended No. 3 Duke's rough week on Saturday night.
Freshman David Johnson scored 19 points as the Cardinals beat Duke, 79-73, in ACC basketball at Cameron Indoor Stadium.
The Blue Devils (15-3, 5-2) suffered losses in consecutive games for the first time since February 2018. Duke lost, 79-72, at Clemson last Tuesday.
Johnson paced four Louisville players in double figures. Dwayne Sutton scored 13, Malik Williams 12 and Steven Enoch 10 for the Cardinals (15-3, 6-1 ACC), who shot 48.3%.
Cassius Stanley scored a game-high 24 points for Duke while Matthew Hurt added 16. Vernon Carey and Tre Jones each had 12 points for the Blue Devils, who shot just 37.1%.
After Jones drilled 3-pointer with 6:29 left tying the score at 63, Louisville scored on 3-pointers by Lamarr Kimble and Ryan McMahon. Those shots, sandwiched around a Carey basket inside for Duke, put the Cardinals up 69-65.
Johnson drove though the lane past Jones' defense for a slam dunk with 4:26 left giving Louisville a 71-65 lead.
But two consecutive Johnson turnovers _ steals by Jones and Jordan Goldwire _ led to five consecutive Duke points. Jones hit a basket and added a free throw and Goldwire hit a layup with 3:26 left slicing the Cardinals lead to 71-70.
Two Dwayne Sutton free throws extended Louisville's lead to 73-70 with 3:11 to play and Duke could draw no closer.
Jones had a layup blocked with 1:42 to play and he missed 3-point attempt to tie it with 50 seconds left.
Jack White's steal with 24 seconds gave Duke one final chance to tie but Stanley's 3-pointer with 17 seconds left failed to hit anything.
The Cardinals took a 56-47 lead on Jordan Nwora's dunk with 12:29 to play before Duke made a run to finally erase its deficit.
Two White free throws followed by a Stanley slam dunk got the push going. After Samuell Williamson scored for Louisville before Tre Jones assisted on two consecutive Duke baskets _ a Hurt basket inside and a Stanley slam dunk in transition.
Hurt was fouled attempting a 3-pointer with 8:49 to play and he sank all three free throws to tie the game at 58-all.
The Cardinals shot 58.8% from the field in the first half, building a lead as large at 15 before taking a 42-32 lead to halftime.
Things got chippy with 7:15 left in the first half when Stanley secured a defensive rebound after a miss by Louisville's Darius Perry. Stanley was straddling Perry, who was laying on the court after missing his shot. Stanley passed the ball way and Perry stood up, knocking Stanley to the court. Duke sophomore Joey Baker sprinted toward Perry from the other end of the court in defense of Stanley. Both Baker and Perry were called for technical fouls.