Opting to bat, Kolkata Knight Riders lost opener Rahul Tripathi (7) early, courtesy a sensational catch by Suryakumar Yadav at point, in the third over off Trent Boult (1/32).
Tripathi cut and Yadav leapt high to catch the KKR opener who had faced just 9 balls.
It soon became 33 for 2 as Nitish Rana (5) perished cheaply, caught by Quinton de Kock off Nathan Coulter-Nile (1/51). The short ball worked for the Australian pacer -- who came in for James Pattinson -- in the sixth over.
Leg-spinner Rahul Chahar (2/18) struck twice in the eighth over, removing Shubham Gill (21) and Dinesh Karthik (4) off successive balls and Kolkata were reduced to 42 for four.
While Gill holed out to Kieron Pollard at long-on in an attempt to accelerate the run rate, Karthik played onto the stumps.
KKR collapsed from 33/1 to 61/5 in five overs.
When Andre Russell walked out to bat, the Knight Riders had lost half their side for 61. Russell too perished for 12. A bouncer from Jasprit Bumrah (1/22) did the trick as Russell lobbed off a sitter to de Kock.
After the top-order failure, Australian fast bowler Pat Cummins (53 off 36 balls: 5x4;2x6) and new skipper Eoin Morgan's cautious 39 conjured up 87 runs for the unbroken sixth wicket, to give Kolkata a decent total.
Chasing 149 for victory, Mumbai Indians's opening pair of Rohit Sharma and de Kock led the charge, hitting up the required runs in 16.5 overs for the loss of just two wickets.