Moeen Ali smashed his first IPL fifty and AB de Villiers his 27th as Royal Challengers Bangalore beat a Kane Williamson-inspired Sunrisers Hyderabad by 14 runs in a high-scoring thriller to keep their play-off hopes alive.
Ali (65 off 34) reached fifty from 25 balls and blazed a third-wicket stand of 107 with De Villiers (69 off 39) from 57 deliveries as RCB racked up 218-6, Colin de Grandhomme (40 off 17) and Sarfaraz Khan (22no off 8) firing late on as Sunrisers seamer Basil Thampi (0-70) conceded the most runs ever in an IPL innings.
Williamson (81 off 42) and Manish Pandey (62no off 38) had Sunrisers in contention to complete the highest successful IPL run chase - which remains the 217-7 Rajasthan Royals struck against Deccan Chargers in 2008 - with a third-wicket partnership of 135, leaving 20 runs needed from six balls.
However, Williamson fell to the first delivery of Mohammad Siraj's final over - caught by fellow New Zealander De Grandhomme at fine leg - and the paceman conceded just five runs, meaning RCB will now meet Rajasthan in a potential shootout for the top four in Jaipur on Saturday.
RCB looked heavy favourites at halfway after Ali - dropped on 23 by Shikhar Dhawan when the fielder tumbled over the boundary after catching the ball - and De Villiers marmalised Sunrisers before being dismissed within the space of three deliveries of Rashid Khan's 15th over.
Ali launched six of his and De Villiers' combined seven sixes, though the South African nailed the biggest, striking Thampi 105 metres over backward square leg and out of the stadium.
Rashid (3-27) - who bowled Virat Kohli (12) during the powerplay - broke the rollicking partnership when he had a shaven-headed De Villiers caught excellently on the square-leg fence by Dhawan, before Ali edged behind on the reverse-paddle.
Afghanistan spinner Rashid also caught De Grandhomme brilliantly one-handed on the deep midwicket boundary, a feat that De Villiers matched and possibly bettered to remove Alex Hales (37) off Ali's bowling in the eighth over of Sunrisers' reply to reduce the table toppers, already assured of a play-off berth, to 64-2.
RCB skipper Kohli was furious that Hales survived on 19 - the TV umpire overturning the soft signal of out after deciding that Tim Southee had failed to get his hands under the ball and take a catch at deep midwicket.
Sunrisers seemed set to worsen Kohli's mood as Williamson struck his eighth fifty of the season from 28 balls and Pandey his third from 30 deliveries, but Siraj had the final say to leave RCB in with a chance of a top-four berth.