It was the first true road win of the season for the Blue Devils, who suffered just eight turnovers and outrebounded the Hurricanes by 11.
Duke gained revenge for a 27-point loss to Miami a year ago when the Blue Devils were ranked No. 1 in the nation.
Rodney Hook added 12 points for Duke (15-4, 4-2 Atlantic Coast Conference), which has won three in a row.
Donnavan Kirk had 13 points to pace Miami (10-8, 2-4 ACC).
The win was the 899th for Mike Krzyzewski as Duke coach. He can become the second coach in NCAA Division I history to win 900 games at one school when Duke meets Florida State on Saturday.
Dennis Rodman pledges to end trips to North Korea
Susan Sarandon 'very excited' about daughter's pregnancy