De Villiers reached three six and five borders, with the RCB posting 171-5. Delhi needed 15 of the final whistle, but fell short, despite 53 of Shimron Hetmyer’s 25 balls.
Needing six in the final ball, Rishabh Pant (58 does not come out) managed to find the border for just four. After losing the shot and being placed on the bat, the RCB lost the first two goals in the space of two balls.
Virat Kohli struggled to walk – scoring 12 of the 11 balls – before being released by Avesh Khan, while Devdutt Padikkal fell to Ishant Sharma by 17.
Rajat Patidar (31) and Glenn Maxwell (25) provided some stability in the RCB half, but De Villiers set the tone with a well-timed shot.
The South African accelerated his half until the end, beating Marcus Stoinis for 23 races in the 20th.
Delhi’s response was delayed by about 20 minutes, while the referees waited for a sandstorm to pass. As the game progressed, with no overtaking, Kyle Jamieson fired opener Shikhar Dhawan – IPL’s top scorer this year – by seven.
Mohammed Siraj caught Steve Smith (4) behind, and Harshal Patel took Prithvi Shaw’s counterattack (21) to leave Delhi 47-3 after 7.2 balances. Patel – this season’s greatest poker player – claimed the tournament’s 17th revocation, eliminating Stoinis by 22.