Harbhajan struck early to put pressure on Pune, removing the dangerous Jessy Ryder (9) and Michael Clarke (14) to make it 44 for three in the ninth over.
Sourav Ganguly (16) then played second fiddle to Manhas and took the team closer to the total. But Malinga, as he often does, broke the 47-run stand for the fifth wicket by castling the stumps of the Pune skipper.
The home team needed 18 off the last 12 balls and it was again Malinga, who made the difference, giving away just fours runs in the over besides sending pack Wayne Parnell (2).
Image: Mumbai Indians' Munaf Patel, second left, celebrates with teammates the dismissal of Pune Warriors' Robin Uthappa during the Indian Premier League cricket match in Pune, India, Thursday, May 3, 2012.