Shreyas Iyer won the toss and decided Delhi Capitals would bat in the big final.
For the first time in an IPL final, a wicket fell off the first ball. Trent Boult dismissed Marcus Stoinis and then in his next over took out Ajinkya Rahane.
Jayant Yadav, brought on as a tactical move, cleaned up Shikhar Dhawan to make it 22 for 3.
Rishabh Pant and Shreyas Iyer consolidated after the early loss of wickets before cutting loose slowly.
Rishabh Pant swung the momentum around in the 10th over when he launched Krunal Pandya for two sixes.
Shreyas Iyer and Rishabh Pant added 96 runs for the fourth wicket.
Nathan Coulter-Nile clipped Delhi's wings once more when he dismissed Pant soon after the southpaw got to his half-century.
Shreyas Iyer finished unbeaten on 64 but DC couldn't get the final flourish, finishing with just 156 on the board.
Quinton de Kock came racing off the blocks as MI made 33 in the first 3 overs of the chase.
Marcus Stoinis, who fell off his first ball, picked up de Kock with his first delivery.
There was no relenting from Mumbai Indians as Rohit Sharma continued to keep his foot on the pedal.
Suryakumar Yadav sacrificed his wicket after Rohit misjudged a single.
Rohit Sharma became the first captain to score two fifties in IPL finals.
Lalit Yadav (sub) took a great catch to dismiss Rohit Sharma for 68.
High fives all around as Mumbai Indians clinched their fifth title with eight balls and five wickets to spare in the final.