Tristan Stubbs scored 60 not out off 47 balls and KL Rahul hit 57 off 34 to spearhead the chase and Delhi finished with 4-179 in 19.5 overs in a thrilling finish at M. Chinnaswamy Stadium.
Miller had misjudged a final-over finish against Gujarat Titans earlier in April, but the undefeated South African made amends against Bengaluru.
With 15 needed off the last over, the South African hit two sixes and a four to take Delhi home with a ball to spare.
"I was disappointed the other night, but to get myself back in that position and get over the line, feels really good," Miller said.
Phil Salt's 63 off 38 balls, along with a lively 26 off 17 from Australian Tim David, had earlier helped Bengaluru to a below par 8-175, which resulted in the team's second loss of the season in five games.
They are second in the standings with eight points with Delhi fourth on six points with three wins in five games.
In the evening game at Hyderabad, Abhishek Sharma hit 59 off 22 balls as Sunrisers Hyderabad beat Chennai Super Kings by 10 runs.
Sharma broke his own record to score the fastest 50 for Hyderabad. He had previously got there in 16 balls. On Saturday, he hit six fours and four sixes to reach 50 off 15 balls.
Aussie Travis Head made 23 as the openers put on 75 in 35 balls. Mukesh Choudhary struck twice, though, as Head and Ishan Kishan (0) were out off consecutive balls in the sixth over.
Heinrich Klaasen scored 59 off 36 balls, his third half-century of the season, and powered Hyderabad to 9-194 in 20 overs.
Chennai's batting failed to fire. Sanju Samson was out for seven, while opening partner Ruturaj Gaikwad fell for 19.
Sri Lanka's Eshan Malinga picked 3-29 in four overs, while Nitish Reddy took 2-31. Aussie Matthew Short (34) and Ayush Mhatre (30) were the only batters to reach 30. They finished on 8-184, sliding to a fourth loss in six games.