Chennai Super Kings pace bowler Lungi Ngidi made the worst possible start with the ball when he was hit for 18 runs in his first over, including three fours by fellow South African Quinton de Kock in the fourth over.
Ngidi came back again, in the 13th over, but gave away 11 runs as Saurabh Tiwary hit him for a couple of boundaries.
However, he turned things around in smashing fashion in the death overs.
Mumbai Indians looked set for a huge total as they were well placed on 136/5 in 16 overs, with he dangerous Kieron Pollard out in the middle with all-rounder Krunal Pandya.
Despite giving away 29 runs in his first two overs, Captain Mahendra Singh Dhoni trusted his famous instincts and deployed Ngidi for the 17th over.
And the tall South African repaid his skipper's trust with the wicket of Krunal, caught down the leg side by wicket-keeper Dhoni.
He made it worse for Mumbai with the key wicket of Pollard, who edged a wide delivery and was caught behind by Dhoni for 18.
In the same over, he accounted for James Pattinson, who hit it straight to Faf du Plessis.
Ngidi took 3 for 9 in his final two overs, to finish with 3 for 38 in his four overs, which was instrumental in restricting Mumbai Indians to 162/9 in their 20 overs, which CSK overhauled in the final over, with five wickets in hand.
PIX: Rayudu, du Plessis take CSK past Mumbai Indians
Do you fancy Dhoni's new look?
Dhoni reflects on his IPL days in quarantine
'Unimaginable' not being with CSK, says Raina
Vaughan tips this team to win IPL 2020