The supersporrt.com website reprots that he took two wickets in two balls to stall the chase and saw the Super Kings fall from 86 for two to 162 all out, chasing 188.
That target was set up by a solid opening stand of 90 by Lendl Simmons (65) and Parthiv Patel (35), which was finished off by Keiron Pollard's 41 off 17 balls.
The Super Kings were on track to match the challenge when they ended the powerplay on 56 for two, losing Dwayne Smith to a very poor lbw decision in the first over and Mike Hussey (16) in the sixth.
Faf du Plessis and Suresh Raina were repairing the damage when Harbhajan moved in, dismissing Raina, caught and bowled for 25, and the captain MS Dhoni. He could have had a third in that over, dropping Dwayne Bravo himself off a powerful drive.
Then the innings collapsed despite the efforts of Du Plessis, who ended on 45 off 34.
Harbhajan picked up 2-26 off four overs, Malinga finished with 3-23 after closing the innings in his last over with two wickets while Vinay Kumar chipped in with 2-26.
Winning the toss and choosing to bat, Simmons and Patel punished the spinners particularly, but the Super Kings fought back, taking three wickets for 40 runs in five overs just as the Indians looked to open up.
Having been restricted to 22 runs off the first four overs, Simmons felt he had to do something to break the chains, smacking Ravichandran Ashwin for two sixes and following that with a maximum off Ashish Nehra as he pushed the score after the powerplay to a more respectable 48 for no loss.
Parthiv Patel also decided to flex his muscles, slamming Pawan Negi's left-arm spin for 16 runs in one over to go to the halfway stage at 86 for nought. A total of 63 runs had come off the last six overs, which put them in a healthy position.
Both fell within three overs, but Pollard picked up the standard from his fallen Windies compatriot and dispatched Mohit Sharma into the stands twice in one over, which put the Indians at 135 for two, going into the final five overs.
That's when the Indians wobbled dangerously, with Bravo taking out Rohit Sharma (19) and Nehra following up the next over to remove Hardik Pandya (1), and when Rayudu went in the 19th over for 10, three wickets had gone down for 27 runs.
But at least Pollard was still there, and he carried the burden as 46 runs were scored off the last three overs. He was dismissed with two balls remaining, having hammered five sixes and a four. Bravo ended with 3-40.
Mumbai now have a few days off, while Chennai will travel to Ranchi to play in Qualifier 2 – scheduled to be played on Friday – which will feature the winner of the eliminator, between Royal Challengers Bangalore and Rajasthan Royals, being played on Wednesday.
Teams:
Chennai Super Kings: MEK Hussey, DR Smith, SK Raina, F du Plessis, MS Dhoni (capt, wk), DJ Bravo, P Negi, RA Jadeja, R Ashwin, A Nehra, MM Sharma
Mumbai Indians: LMP Simmons, PA Patel (wk), RG Sharma (capt), AT Rayudu, KA Pollard, HH Pandya, Harbhajan Singh, J Suchith, MJ McClenaghan, R Vinay Kumar, SL Malinga