Captain Virat Kohli (58; 45b; 3x4, 3x6) shared a 66-run second-wicket stand with West Indian Chris Gayle (48; 38b; 3x3, 3x6) as Bangalore reached 161/6 in 20 overs. Delhi were bowled out for 151 in 19.5 overs, losing by 10 runs to finish sixth.
With both teams out of the race for the play-offs, Bangalore, who made five changes to their side, opted to bat. They made a slow start, scoring 37/1 at the end of Powerplay overs (six), with Gayle contributing 32 runs off 24 deliveries.
Opening batsman Vishnu Vinod (3) did not trouble the scorers as he was bowled by Pat Cummins in the fifth ball of the fifth over.
Gayle picked two sixes off pacer right-arm pacer Mohammad Shami but he was far from his usual flow. He struggled with his stroke-making after the Powerplay overs.
But Kohli looked to be in good touch and he provided impetus to the visitors' innings. His lofted drive off medium pacer Corey Anderson in the first ball of the ninth over was a joy to watch as it completed 50 runs for the southern outfit.
Kohli picked out leg-spinner Amit Mishra for attack and his rasping flicks towards the midwicket against provided the runs Bangalore required in the middle overs.
At the other end, Gayle, who was struggling, was caught by Zaheer Khan at short midwicket off a delivery from left-arm spinner Shahbaz Nadeem, with Bangalore at 96/2 in 13.1 overs.
Bangalore lost Travis Had (2) in the following over, after the Australian fell short of completing two runs as Shreyas Iyer threw from the midwicket at the bowling end.
Kohli, meanwhile completed his fifty in 39 deliveries in the final ball of the 15th over with a single to deep cover off a delivery from Zaheer.
Zaheer's next over saw Kolhi play another delightful flick for a six over midwicket before being failing to clear Nadeem at long-off. It was a big relief for Delhi, having dismissed the visiting skipper in the 17th over.
Kedar Jadhav (12) followed Kohli to the dug-out in the next over after being run out by Cummins with a direct throw from the short third man area at the bowling end. Sachin Baby (12) then was holed out at long-off by Anderson off Cummins, as Bangalore lost sixth wicket with 144 runs on the board.
Later, Pawan Negi milked 13 off five deiveries he faced in the final over he faced from Anderson to take the total beyond 160.
In pursuit of the target, Delhi had a poor start, losing Sanju Samson (0) in the second delivery of the first over bowled by medium pacer Avesh Khan. The responsibility of creating the base then fell on Karun Nair (26) and Shreyas Iyer (32) and the pair did well with a 40-run stand as the former pulled straight into the hands of Jadhav at short midwicket off a delivery from medium pacer Shane Watson.
Iyer then joined hands with Rishabh Pant (45) and another partnership started to blossom. Medium pacer ended the 45-run partnership as he had Iyer caught by Watson at short cover in the fourth ball of the 12th over. Harshal then dealt another blow to Delhi in his next ball as he bowled West Indian veteran batsman Marlon Samuels (0) with a slower delivery to reduce the hosts to 87/4.
Off-spinner Head made further problems for Delhi, removing Anderson (3) and Cummins (7) in the 16th over, as the hosts reeled at 113/ 6, still requiring 49 runs.
In the following over, Harshal sent Pant packing, bowling through his defence to pull the match in favour of Bangalore, with Delhi still needing 43 runs from 3.2 overs.
However, Shami (21; 9b; 3x4, 1x6) delivered some lusty blows to keep Delhi in hunt, as the hosts required 13 runs off the final over. The right-hander was stumped by wicket-keeper Vinod in the second ball of the 20th over bowled by Negi, leaving Delhi to score 12 off four deliveries.A
After couple of deliveries that didn't yield a run, Negi dismissed Nadeem (2) in the fifth ball, bowling out Delhi for 151.
Brief scores: Bangalore: 161/6 in 20 overs (Virat Kohli 58, Chris Gayle 48; Pat Cummins 2/22, Shahbaz Nadeem 1/12). Delhi: 151 all out in 19.5 overs (Rishabh Pant 45, Shreyas Iyer 32; Harshal Patel 3/43, Pawan Negi 2/10, Travis Head 2/30).
IPL 2017: Bangalore overcome Delhi by 10 runs
IPL 10: Delhi, Bangalore aim to finish with a win
This has been our worst IPL season, feels RCB's, says Travis Head
IPL 10: Royal Challengers Bangalore vs Kolkata Knight Riders, Match 46, Score Updates
IPL-2017: KKR desperate for a win against lowly Bangalore
Royal Challengers Bangalore vs Kings XI Punjab, Match 43 Score Updates
IPL: Down-and-out RCB face confident Kings XI Punjab
IPL 10: Mumbai Indians beat RCB by 5 wickets, Chec Full Scorecard
IPL 10: Late strikes take RCB to 162/8 vs Mumbai Indians
IPL 10: RCB skipper Virat Kohli opt to bat vs Mumbai Indians