Mumbai Indians, chasing a stiff target of 208, were restricted to 170 for nine in 20 overs after Ambati Rayudu top scored with 62 and Dinesh Karthik made 40.
It was an all-round show by Daredevils. A century-run stand between openers Virender Sehwag (73) and Mahela Jayawardene (55) took Delhi Daredevils to a formidable total of 207 for five in 20 overs.
A disciplined performance from pacers Umesh Yadav (2-36), Irfan Pathan (2-46) and left-arm spinner Shahbaz Nadeem (2-35) helped them register their second win over Mumbai Indians this season.
Mumbai Indians failed to extract revenge for their home loss against Daredevils when they were shot out for 92 for their lowest total in the IPL.
With the win, Daredevils opened up a three-point lead at the top and have 12 points from eight matches while Mumbai Indians are seventh with eight points from as many matches.
In Image: Players of Delhi Daredevils celebrate after claiming a wicket
Scorecard | Full Coverage