Neither side could shoot better than 40 percent from the floor in the defensive battle, but Duke went 24-of-26 from the foul line to put away one traditional powerhouse and set up a meeting with another.
Duke will face Louisville on Sunday with the winner moving on to the Final Four. The Blue Devils are looking for their fifth national championship under Coach Mike Krzyzewski and their second in four seasons.
The Blue Devils had only a four-point lead with 12:09 to play when they went on a quick 9-3 run that gave them some breathing room. The lead eventually grew to 13 points with less than 4 minutes to play.
Rasheed Sulaimon added 16 points for Duke (30-5) and Mason Plumlee contributed 14.
Curry hit 8-of-17 from the field and put up a typical effort from the foul line by hitting all seven of his attempts.
Michigan State (27-9) was led by Keith Appling with 16 points and he was one of just two Spartans to reach double figures.
A win by Michigan State would have put three members of the Big Ten Conference in the Elite Eight, but now only Ohio State and Michigan will go into the weekend still having a chance to reach the Final Four.
Duke was one of just four teams from the ACC to be given a spot in the tournament and the Blue Devils are the only one remaining.