Sharma, who slammed six boundaries and one six in his 37-ball knock, and Jos Buttler (33) were the major contributors to Mumbai's cause.
With this result, Mumbai now sit atop the IPL standings with eight wins and two losses while Bangalore have lost eight matches and are now decidedly out of the play-off race.
Chasing 162/8 posted by Bangalore, Mumbai started off on a poor note as opener Parthiv Patel (0) was dismissed on the very first ball of the first over by Aniket Choudhary.
While trying to pull a short ball, Parthiv mistimed it and Yuzvendra Chahal took a brilliant catch at short mid-wicket.
Incoming batsman Nitish Rana (27) and Buttler then added 61 runs in 7.2 overs to stabilise Mumbai's innings before the latter was sent packing by spinner Pawan Negi. Buttler played 21 balls and slammed four boundaries and one six.
After one over, in-form Rana was also sent back to the pavilion by Negi to reduce the hosts to 70/3 in 10 overs. Rana's 28-ball knock comprised of four boundaries.
Unperturbed by the fall of Rana's wicket, skipper Rohit Sharma and Kieron Pollard (17) punished the Bangalore bowlers all around the park as they slammed 28 runs in 3.4 overs before the West Indian hitman was dismissed by Chahal.
Krunal Pandya (2) and Karn Sharma (9) also failed to step up to the situation and the latter was dismissed on nine runs while Pandya was retired hurt.
The fall of wicket brought in all-rounder Hardik Pandya, who along with Rohit Sharma played some good shots to entertain Mumbai's crowd.
In the process, Rohit completed his 50 with a single at the end of the 19th over.
With seven runs required in the last over, Pandya and Sharma took singles off the first four balls and then the skipper slammed a boundary to give the hosts a comfortable victory.
For Bangalore, Negi scalped two wickets while Choudhary, Chahal and Shane Watson chipped in with one wicket each.
Earlier, a late surge from Kedar Jadhav and Pawan Negi helped Bangalore to 162/8 against Mumbai.
Joining forces in the 15th over, Negi (35 from 23 balls) and Jadhav (28 from 22) raised a 54-run stand for the sixth wicket to rescue the visitors, who lost the top five players with just 108 runs on the board.
South African big-hitter AB de Villiers was the other major contributor with a 27-ball 43 for the Bangalore franchise.
Electing to bat, RCB were reduced to 40/2 with skipper Virat Kohli (20) and his new opening partner Mandeep Singh (17) failing to get a decent start for the visitors.
RCB's decision to open with Mandeep backfired as the Punjab batsman after facing 13 balls, failed to get to the pitch of a tossed up delivery from leg-spinner Karn Sharma to be comfortably caught by Hardik Pandya at deep midwicket.
One over later, Kohli, who by now had struck two sixes and faced 14 balls, was undone by a slower one from pacer Mitchell McClenaghan which Mumbai skipper Rohit Sharma caught at short midwicket.
With the team once again in deep trouble, RCB now needed a special from South African star AB de Villiers (43) and Travis Head (12) , who chipped in with a 45-run third wicket stand before left-arm spinner Krunal Pandya ended Head's 15-ball stay.
De Villiers, though raised RCB's hopes of amassing a healthy total by meting out special treatment to Krunal and McClenaghan before the left-arm spinner once again struck to send back the Protea right-hander.
Before being dismissed, the 33-year-old de Villiers faced 27 balls and helped the ball to the boundary on three occasions and thrice over it.
In the very next over, medium pacer Jasprit Bumrah cleaned up Australian Shane Watson (3) to further dent RCB's prospects.
Wicketkeeper-batsman Jadhav and Negi then paired up to add a few valuable runs with the Delhi southpaw taking the aerial route twice off Sri Lankan Lasith Malinga and once off Bumrah before McClenaghan finished off in style by dismissing the duo off successive balls in the final over.
For the hosts, New Zealander McClenaghan was the pick of the bowlers with figures of 3/34 while Krunal chipped in with two wickets.