Delhi then mounted a spirited comeback in their final overs, coming agonisingly close, but were thwarted by Jaydev Unadkat's career-best figures of 5 for 25 in four overs, ending on 179 for 7, just four runs short of Bangalore's 183 for 4.
Bangalore's total came via a scintillating Kohli innings of 99 off 58 balls. Kohli started by playing cautiously and survived with the aid of a few lucky breaks. He ended with a blaze of boundaries and sixes, seemingly able to deposit the ball anywhere he wanted.
Kohli's luck ran out only off the final ball of the innings. Needing two to complete a deserved century, he was run-out going for an impossible second run. By then however, he had ensured Bangalore had enough for a second away win and were back on track for a playoff spot in the Pepsi IPL 2013.
That Kohli got off the mark was fortunate, being squared up by a perfect Morne Morkel delivery that kissed his edge and went through to the 'keeper. However, Morkel had overstepped by a thin margin, and Kohli lived on. He also survived a dropped chance off Siddharth Kaul on 14 - Virender Sehwag shelling the chance at mid-wicket.
In that phase, with Bangalore having lost Chris Gayle and Cheteshwar Pujara early, Delhi looked in control of the proceedings. When Bangalore were 106 for 3 in 16 overs, Delhi might even have entertained hopes of restricting them to less than 150.
But if ever there were two batsmen capable of turning a match on its head in the blink of an eye, they were Kohli and de Villiers. Kohli had plodded to 47 off 43 balls, but unleashed a torrent to score 52 runs off the final 15 balls he faced. By comparison, de Villiers' unbeaten 32 off 17 looked almost slow. 77 runs came off the final four overs, with Umesh Yadav bearing most of the brunt. Yadav, who had bowled two overs for 18 runs, ended with 4-0-65-0.
Faced with a stiff asking rate, Mahela Jayawardene, who had turned the captaincy over to David Warner, hit some pleasing boundaries off his legs, but neither he nor Sehwag could kick on and both fell without reaching 20. Unadkat, who was brought into the XI in place of the misfiring RP Singh, accounted for both, getting Jayawardene by denying him room to play his shots and foxing Sehwag with a slower one. When Warner fell soon after, Delhi were 61 for 3 in seven overs, and the chase seemed done.
But Irfan Pathan's 23 not out off 11 and Morkel's 19 off 10 kept Delhi alive, before they eventually fell short. Bangalore ended with two vital points, which could prove crucial as the league phase enters its home stretch.