LOUISVILLE, Ky. -- Anas Mahmoud established the post presence that No. 14 Louisville needed against Duke before teammates began chipping in timely baskets and making stops.
The Cardinals' inside-outside combination on both ends culminated in a strong finish that put away the seventh-ranked Blue Devils.
Mahmoud had career highs of 17 points and 11 rebounds, Donovan Mitchell added 15 points and Louisville shot 59 percent in the second half to top Duke 78-69 on Saturday.
"When you score 17 points, and maybe I had assists on 12 of them, it's due to my teammates," the 7-foot junior from Egypt said after making 6 of 9 from the field and 5 of 7 free throws.
No contribution was too small for Louisville against Duke and fiery guard Grayson Allen -- who shook off constant booing from the red-clad crowd to keep the Blue Devils on the cusp of making a game-changing run. But the Cardinals' accuracy came up big.
Duke had outshot Louisville much of the game, but the Cardinals had the hotter hands after halftime in making 17 of 29 from the field to gain the edge as the Blue Devils shot 48 percent. Mitchell had the touch from beyond the arc, making consecutive 3s while scoring 10 second-half points during a stretch that resulted in a 69-60 lead with 4:03 left.
"We just moved the ball, we weren't afraid," said Mitchell, who left the game early in the second half with a left ankle injury while guarding Allen but returned to make critical baskets.
"We kept attacking the second half. The first half we just got stagnant, too many pick-and-rolls. In the second half we got the ball inside, made some great choices. Our defense is what fueled us because once we got a stop on one end, we got a fast-break layup or fast-break 3."
Mahmoud soon followed with a put-back dunk and two free throws around Quentin Snider's 3 as the Cardinals (15-3, 3-2 Atlantic Coast Conference) won their third in a row. Snider had 13 points, six of Louisville's 16 assists and three steals. The Cardinals forced 18 turnovers.
"We played a really terrific game," Louisville coach Rick Pitino said. "We played two halves, had to battle them."
Allen had 23 points and nine rebounds as the Blue Devils (14-4, 2-3) lost their second in a row this week without injured forward Amile Jefferson (foot). Luke Kennard added 17 points.
THE BIG PICTURE Duke: The Blue Devils led most of the first half before Louisville rallied past with 5 1/2 minutes left to lead 34-30 edge at the break. Nine straight second-half points by Allen kept them close but they couldn't prevent small Cardinal runs that put the game away. Having Jefferson could have helped on the boards and inside as they were outscored 36-26 in the paint, but interim coach Jeff Capel said their freshmen frontcourt needs to improve.
"The very first thing is rebounding," said Capel, who's coaching while Mike Krzyzewski recovers from back surgery. "Protecting our basket is another thing. In the last two games we've given up a total, I think, 92 points in the paint. That has to be better."
Louisville: The Cardinals matched Duke in shooting (47 percent) and rebounding (32) but Mahmoud's play was a big help down low. Ray Spalding added 11 points while Mangok Mathiang had seven and Deng Adel six.
UP NEXT Duke: Gets some down time before hosting Miami on Jan. 21 and North Carolina State two days later.
Louisville: Hosts Clemson on Thursday night before visiting No. 9 Florida State on Jan. 21.