Rohit Sharma hit a brilliant 94 off 52 balls as defending champions Mumbai Indians beat Royal Challengers Bangalore by 46 runs to claim their first win of IPL 11.
Having been 0-2 after two balls, Mumbai recovered superbly to post 213-6 after Rohit and Evin Lewis (65 off 42 balls) had put on 108 for the third wicket.
Virat Kohli was supreme in scoring 92 not out off 62 balls in the RCB chase but received little support as his side slumped to a third defeat in four games, finishing on 167-8.
There was a stunning start to the match as Umesh Yadav (2-36) knocked back Suryakumar Yadav's off stump first ball and followed it up but uprooting Ishan Kishan's off peg with the next delivery.
If Mumbai were shaken by the loss of those two early wickets it didn't show and by the end of the powerplay, Lewis and Rohit had taken the hosts to 60-2.
Lewis reached his half-century with a huge six over midwicket in the ninth over but was dismissed looking for another in the 12th, sending the ball high into the Mumbai sky off Corey Anderson and Quinton de Kock was underneath it as the ball returned to earth.
Chris Woakes (1-31) returned to the attack and removed Kieron Pollard and looked to have had Hardik Pandya caught behind next ball.
The decision was reviewed and despite UltraEdge showing a murmur as the ball passed the bat, it was overturned, much to the frustration of Woakes and Kohli - and that frustration only grew as Pandya hit the next two balls for six.
The Mumbai total moved beyond 200 in an expensive final over from Anderson, Rohit hitting another maximum before he holed out as he tried to get himself to three figures.
Kohli continued to voice his displeasure to the umpires over the Pandya decision as they players walked off, but quickly had to regain his composure as he walked out to begin the RCB chase.
RCB's lightning start was disrupted in the fifth over though as Mitchell McClenaghan (2-24) bowled De Kock (19) and had AB de Villiers (one) caught in the deep three balls later.
Krunal Pandya (3-28) went one better than McClenaghan as he took the next two RCB wickets in two balls, Mandeep Singh stumped and Corey Anderson caught in the deep, before removing Washington Sundar in his next over.
Mumbai were in complete control but had a scare midway through the innings as wicketkeeper Kishan was hit in the eye in a freak incident that saw the ball bounce up out of a foot hole from Hardik Pandya's throw.
He was taken off to receive further treatment but despite Kohli's defiant knock, Mumbai had the game wrapped up long before the final ball was bowled.
Watch Rajasthan Royals v Kolkata Knight Riders from 3pm, Wednesday on Sky Sports Cricket.