Captain Rohit Sharma struck a brilliant 94 before his bowlers produced a clinical performance as Mumbai Indians beat Royal Challengers Bangalore by 46 runs in their Indian Premier League match in Mumbai on Tuesday.
Put into bat, Mumbai recovered from a shock start of 0 for 2 to post 213 for 6, their highest score of the season, mainly through the splendid batting of Rohit (94 from 52 balls) and opener Evin Lewis (65 from 42 balls).
The Mumbai bowlers led by left-arm spinner Krunal Pandya (3/28) then put in a good showing with the ball to restrict RCB to 167 for eight to notch up their first win in their fourth match of the season.
RCB captain Virat Kohli's typically aggressive 62-ball 92 not out was the lone bright spot in the visitors' run-chase of 214 as they lost their way after a promising start.
Kohli, who opened the RCB innings, slammed four sixes and sixes fours in his unbeaten knock but found no support from the other end. The next best was that of the other opener Quinton de Kock who made 19 from 12 balls.
The defeat at the Wankhede Stadium was also RCB's third in four games this season.
RCB made an encouraging start in pursuit of the daunting target when Kohli and de Kock put on 40 runs before a twin strike in three balls by left-arm pacer Mitchell McClenaghan (2/24) in the fifth over arrested their progress.
The New Zealander bowled de Kock for 19 and then struck another big blow by having another South African A B de Villiers (1) caught in the deep to make it 42 for two.
There was a brief revival with Kohli adding 32 runs with Mandeep Singh (16) before Krunal Pandya grabbed two wickets off successive balls. Krunal dismissed Mandeep and Corey Anderson (0) to push the visitors firmly on the back foot at 75 for four.
Washington Sundar (7), who gave away 32 runs in two overs while bowling earlier in the day, came a cropper with the bat too by becoming Krunal's third victim to leave RCB at a difficult 86 for five in the 12th over.
Kohli kept ploughing a lonely furrow and he remained unbeaten eight runs short of a century. By the end of the 15th over, the asking rate had shot up to more than 21 an over and that was a huge task even for a batsman of Kohli's calibre.
MI wicketkeeper Ishan Kishan was stuck on the face by a throw from Hardik Pandya during RCB'r run-chase and had to leave the field for medical attention.
Earlier, Mumbai Indians made a grand recovery from a shock start through sparkling half-centuries from captain Rohit Sharma and Evin Lewis to post a formidable 213 for six.
West Indies left-hander Lewis struck five sixes and six fours in his 42-ball 55.
After his dismissal Rohit, who flopped in the first three games, took over the lead role to hammer 94 in 52 balls before departing off the penultimate ball, caught at long-on as he fell narrowly short of his century.
It was MI's first score in excess of 200 in four games this season.
All the RCB bowlers went for runs, including Umesh Yadav in his second spell. Spinners Washington Sundar and Yuzvendra Chahal were particularly expensive.
MI made a horror start losing Suryakumar Yadav (0) and Ishan Kishan (0) off the first two balls from Umesh and rallied to 60 for two after six overs.
MI were rallied superbly by skipper Rohit and Lewis who put on 108 runs in 66 balls for the third wicket.
Lewis set the tone with a pulled six off Chris Woakes and then Rohit followed suit with a spanking drive for four to the first ball from Sundar who was then struck for two more fours to fine leg by Lewis.
The tall off-spinner also conceded five wides in the fourth over that yielded 19 runs.
Mohammed Siraj was smacked for a huge six by Lewis off the first ball as Mumbai continued their attacking approach.
Lewis raced to his maiden IPL half-century off 32 balls with a slog-swept six off leggie Chahal to swing the momentum back in Mumbai's favour.
Chahal was struck for two leg side sixes by Lewis who was later caught behind off a leading edge off Corey Anderson.
The run-rate dropped on Lewis's fall in the 12th over before Rohit provided the boost as he blasted Yadav for a six and a four in successive balls to reach his 50 from 32 balls.
Rohit continued his splendid work till the last over, smashing Umesh and others mercilessly before being caught off Anderson in the final over.