Hardik Pandya won a crucial toss and with dew expected to play a big role, opted to chase.
Jasprit Bumrah struck in his first over to dismiss a scratchy Virat Kohli for a 9-ball 3.
Will Jacks, brought into the XI at the expense of Cam Green, fell cheaply to Akash Madhwal.
RCB recovered through an 82-run fourth wicket stand between du Plessis and Rajat Patidar.
Gerald Coetzee dismissed Patidar after conceding two back-to-back sixes.
Glenn Maxwell's poor season continued as he fell to Shreyas Gopal for a four-ball duck.
Returning for two overs at the death, Bumrah took four wickets to become one of only four bowlers to take two five-wicket hauls in the IPL. He took 5 for 21.
Dinesh Karthik scored an excellent 23-ball 53* to power RCB to 196.
In the chase, Ishan Kishan dominated an opening stand of 101 with a 34-ball 69.
Suryakumar Yadav blasted a 17-ball fifty as MI chased down the total in 15.3 overs.