Sharma struck 56 and put on 102 for the unbroken fifth wicket with Andrew Symonds (44), which included 40 off the last two overs, to help Mumbai Indians post a challenging 172-4 after the visitors were put in to bat.
Man-of-the-Match Malinga dismissed Shikhar Dhawan (25), captain Kumar Sangakkara (34) and Ravi Teja (1) and also ran out Cameron White (1) to put the brakes on Chargers, who finished at 135-8 off 20 overs.
It was 2010 finalist Mumbai Indians' fifth victory from six matches this season.
Sachin Tendulkar — who turned 38 on Sunday — and Davy Jacobs provided Mumbai Indians with a 47-run start, before leg-spinner Amit Mishra struck twice to leave the table leaders wobbling at 70-4.
Sharma pulled the team out of trouble with his second straight half century.
Symonds lashed South African quick Dale Steyn for two fours and a six in the 19th over and Sharma hammered Australian all-rounder Daniel Christian for three sixes and a boundary in the last over of the innings.
Chargers began badly and were reduced to 54-3 after Malinga bowled Dhawan and ran out White. In his second spell, the Sri Lankan took the valuable wicket of Sangakkara and then caught and bowled Ravi Teja as Chargers went down to their fourth defeat in six matches.
“The partnership between Symmo (Symonds) and Rohit (Sharma) helped us to get to a good total. But I still thought we were 20-25 runs short as we lost too many wickets early,” Tendulkar said.










