Ben Stokes put in a star performance with the ball as Rising Pune Supergiant ended Mumbai Indians' six-match winning streak in the IPL with a three-run success.
Leaders Mumbai came into Monday's meeting at Wankhede Stadium in glittering form but, despite a fifty from captain Rohit Sharma, fell just short in their pursuit of 161 for victory.
Stokes was key to Pune's success, picking up 2-21 from his four overs - including a wicket-maiden - to help pay back some more of his hefty price tag in the pre-season auction.
Pune openers Rahul Tripathi (45) and Ajinkya Rahane (38) set the platform for a respectable but by no means insurmountable 160-6, with Harbhajan Singh (1-20) and Jasprit Bumrah (2-29) particularly impressive for the hosts.
They were outshone by Stokes, however, the England all-rounder conceding just seven from the penultimate over, leaving Jaydev Unadkat to just about defend 17 from the final set of six.
It was Supergiant's third straight win, and it began well with Rahane and Tripathi putting on 76 for the first wicket before the former chipped a return catch to Karn Sharma.
Tripathi was next to fall, also to the leg-spinner, having struck three fours and two sixes from his 31 deliveries, and Pune struggled to regain their momentum with Manoj Tiwary's 22 from 13 the best they could muster thereafter.
In the reply, Stokes' first victim was England colleague Jos Buttler and the all-rounder had figures of 2-0 from seven balls when Karn played on to leave Mumbai 86-4 in the 13th.
Rohit represented their best chance of victory but he lacked the requisite support and eventually perished in the final over for 58 from 39 having struck six fours and three maximums - Harbhajan's final-ball six doing little to spoil Pune's party.