Rajasthan Royals maintained their late push to make the Indian Premier League play-offs - and ended the top-four hopes of Royal Challengers Bangalore in the process - with a 30-run win in Jaipur.
Opener Rahul Tripathi carried his bat to make an unbeaten 80 from 58 deliveries as Rajasthan posted 164-5, a total that proved well beyond their opponents.
Leg-spinner Shreyas Gopal claimed 4-16 as the Royal Challengers fell apart under pressure on a dry pitch, slipping from 75-1 midway through the ninth over to be bowled out for 134.
AB de Villiers made 53 but, not for the first time this season, Bangalore's batting disappointed. They were bamboozled by Gopal, who claimed career-best figures in the format.
He was helped out by Heinrich Klaasen, the wicketkeeper - playing in place of the absent Jos Buttler - pulling off three stumpings.
The win lifts Ajinkya Rahane's team up to 14 points, putting them fourth in the table. However, with a negative net run-rate, they face an anxious wait to see if they will hang on to that position by the end of the round-robin stage.
JOS THE TICKET
Rajasthan were denied the services of both Buttler and all-rounder Ben Stokes, the pair ending their time with the franchise to return home ahead of England's upcoming Test series against Pakistan.
Yet their team-mates prospered without the duo in a must-win clash, Klaasen in particular proving a reliable deputy with the gloves. The South African made 32 from 21 balls with the bat, yet his most telling contribution to the cause came in the field when he stumped compatriot De Villiers off Gopal's bowling.
Captain Rahane had earlier weighed in with some useful runs for Rajasthan, putting on a second-wicket partnership worth 99 with Tripathi following the early departure of makeshift opener Jofra Archer for a duck.
Their score was by no means sizeable but their slow bowlers stifled Bangalore in the middle overs, the excellent Gopal reliably supported by fellow leggie Ish Sodhi (1-31) before seam duo Ben Laughlin and Jaydev Unadkat returned to wrap up the victory.
Umesh Yadav's three-wicket haul was a rare bright spot in an otherwise gloomy outing for the Royal Challengers, who miss out on the play-offs for a second successive year.
After sending back Archer in his opening over, the India seamer dismissed Rahane and Sanju Samson with successive deliveries, taking his tally of scalps for the IPL season to 20.
Yet Bangalore's deficiencies with the bat - they have relied far too heavily on Virat Kohi and De Villiers throughout the 2018 campaign - saw them fall well short of their target.
As for the Royals, they must wait to see the results of the remaining fixtures to find out if they will qualify. Mumbai Indians are the most likely candidates to replace them in the top four - they go up against bottom side Delhi Daredevils on Sunday.