to manage only 153 for nine in 20 overs.
Earlier, big half-centuries from Duminy (78 not out) and Shreyas Iyer (83) helped DD post an imposing 190 for four.
Mumbai opener Lendl Simmons (15) let go of a quick start to mishit a Domnic Muthuswami delivery and Duminy pulled off a sensational running catch.
The Delhi captain pedalled back from mid-on to take a behind-the-wicket catch during which he ran, tumbled, dived and recovered.
The Delhi catching continued to impress the home crowd as Tahir then took a brilliant outfield catch to send Parthiv Patel (28) back off Angelo Mathews.
Patel, who had hit 4 fours and a six in his 19-ball blitz, pulled the ball over mid-wicket only to see Tahir cover good ground and take a sharp catch at deep square leg.
DD bowlers kept chipping in with wickets as leg-spinner Amit Mishra (2-32) got Delhi boy Unmukt Chand (14) stumped. Mishra was at it once again as he got Kieron Pollard (10), who mistimed a slice to Shahbaz Nadeem at mid-on.
Captain Rohit Sharma (30) and Ambati Rayudu (30) then tried to get the chase on track, stitching a 49-run fifth wicket partnership.
Wicketkeeper Kedhar Jadhav though did miss a stumping off Mishra to give Rayudu a life in the 13th over.
But the DD fielders continued to take their catches as Nadeem took another neat skier at sweeper cover off Nathan Coulter-Nile to send dangerman Rohit back.
Hardik Pandya (0) could hardly blink as Tahir got him caught at long-off. On song in the 17th over, Tahir struck again to get Rayudu caught at long-off once again.
Mitchell McClenaghan (0) was next, caught behind, as Tahir was on a hat-trick and the tournament's top-wicket-taker (13 wickets in 6 games) celebrated by taking off on his customary celebratory run.
Lasith Malinga played out the hat-trick ball, but Tahir firmly got the purple cap on his head.
Delhi Daredevils knock out defending champions Mumbai Indians
