Suryakumar Yadav's second successive half-century kept Mumbai Indians' IPL play-off hopes alive as they clinched a 13-run win over Kolkata Knight Riders.
Yadav lit up a sweltering afternoon, scoring seven fours and two sixes, as he became the second highest run-scorer in the tournament, 24 runs behind leader Ambati Rayudu.
Having been set 182 to win, KKR fell short of their target despite Robin Uthappa scoring 54 with Hardik Pandya's 2-19 from his four overs stifling the away side's chase as they could only muster 168-6 from their 20 overs.
The win sees the Indians move up to fifth, two points outside the play-off places with four matches remaining, while the Knight Riders are in third with 10 points.
Hoping to build from their confidence-boosting win over Kings XI Punjab in their previous match, Mumbai were put in to bat by Dinesh Karthik at a scorching Wankhede Stadium.
Yadav and Evin Lewis (43) got the hosts off to an impressive start, sharing a 91-run opening partnership but Andre Russell dismissed his fellow West Indian Lewis as his attempted drive was comfortably caught at short third man.
However, Mumbai continued to press on and it took just 31 balls for Yadav to reach his fourth half-century of the tournament, having hit eight boundaries, but the opener failed to push on again as he was caught behind off Russell for 59.
Spinner Sunil Narine impressed with the ball, having Rohit Sharma (11) and Krunal Pandya (14) caught cheaply as the hosts faltered but a quickfire unbeaten 35 off 20 balls from Hardik blasted the Indians to 181-4.
With the ball racing away on the lightning outfield, Kolkata made a fast start to their innings, scoring five boundaries off their opening 10 balls but a short ball from Mitchell McClenaghan saw the end of Chris Lynn.
Two balls later the Pandya brothers combined to dismiss Shubnam Gill, as the Knight Riders opener was caught off Hardik's first ball by Krunal at mid-off.
Just as KKR looked to be on the ropes, Mayank Markende put down the simplest of catches to give Uthappa a second life and the batsman made the most of his reprieve reaching his half-century off 32 balls.
However, the match took another turn when Markande atoned for his drop by having Uthappa caught in the deep - breaking the Knight Riders' 84-run third-wicket stand.
And, when Krunal took a good catch to get rid of the dangerous Russell to give Jasprit Bumrah his first scalp of the day, the visitors were left needing 43 off their final three overs.
Captain Karthik finished unbeaten on 36 but holders Mumbai got the vital victory to ensure they remain in the play-off hunt.