Lusty hitting from Hardik Pandya and Ambati Rayudu took MI to a win with four balls to spare.
Chasing 159 to win, Mumbai got off to a smooth start with opener Parthiv Patel (45) and Lendl Simmons (38) combining effectively to get them to a strong position.
It looked doomed for the home team as Mumbai looked set to cruise to a comfortable victory with no CSK bowler managing to trouble the openers.
But just when it seemed all over for CSK, spinner Ravichandran Ashwin (2/17) struck twice in the 11th over to jolt Mumbai.
The hosts made further inroads when the dangerous West Indian power hitter Kieron Pollard (1) was run out in the next over.
Mumbai then found it difficult to get going. Skipper Rohit Sharma (18) and Ambati Rayadu (34 not out) tried to build a partnership to keep Mumbai's run-making process ticking.
But Rohit was dropped in the 16th over by du Plessis off the bowling of Dwayne Bravo after getting fooled into making an expansive shot and getting beaten by a slower delivery.
But the budding 39-run partnership was broken in the 18th over by Bravo when he again flummoxed Rohit into a false stroke to be caught in the deep by Suresh Raina.
Pandya (21) came to the crease and showing no signs of nerves, striking three lusty sixes off left-arm spinner Pawan Negi's 19th over to take Mumbai closer to victory. Negi went for 25 runs to extinguish CSK's chance to win.
Earlier, league leaders CSK posted a fighting total of 158 for five on a slow and low pitch.
CSK skipper Mahendra Singh Dhoni won the toss and elected to bat. They were on the offensive from the very start with opener Dwayne Smith (27) and Brendon McCullum (23) threatening to cut loose with aggressive shots.
But three quick wickets of McCullum, Suresh Raina (10) and Smith halted their progress.
Faf du Plessis (17) and Dhoni (39 not out) resurrected their innings and gave them a necessary platform to accelerate in the slog overs in the sluggish pitch.
After du Plessis' dismissal in the 16th over, Dhoni along with Negi (36) helped CSK post the fighting total.
Negi eclipsed Dhoni in power hitting, taking just 17 balls for his knock, studded with four boundaries and a six. Dhoni took 32 balls for his 39, hitting two fours and two sixes.
With the win, Mumbai have 12 points from 11 matches. CSK, despite the loss, remain table-toppers, with 14 points after 11 games. It was CSK's first loss at their home ground in this year's IPL.