Playing his first match of the season after regaining his fitness, de Villiers slammed a 46-ball 89-run unconquered innings laced with as many as nine sixes and three fours to single-handedly take RCB close to the 150-mark.
With de Villiers going hammer and tongs, RCB amassed 68 runs off the last four overs to post a good score after being precariously placed at 22-3 in 5 overs.
For Punjab, Varun Aaron (2/21) picked up two wickets, while Sandeep Sharma (1/26) and Axar Patel (1/12) picked one wicket each.
Earlier, left-arm spinner Patel started the bowling attack for Punjab and he struck the first blow, dismissing opener Shane Watson (1) in the last ball of the first over itself. Looking to play a cut shot, Watson ended up dragging the ball on to his stumps.
More From This Section
However, other opener Vishnu Vinod (7) also tried to get into the act in the next over off Sandeep Sharma but he was cramped for room and ended up giving a simple catch to Maxwell at the long-on boundary.
In the next over, Aaron trapped Kedar Jadhav (1) infront of wicket as Bangalore were reduced to 22-3 in five overs.
After a few quiet overs, de Villiers plundered a six and a four to accumulate 13 runs off young left-arm seamer T Natarajan in the ninth over to help RCB reach 47 for 3.
In the 16th over, de Villiers slammed Aaron over mid-off to pick up his second six off the innings. The South African then smashed Marcus Stoinis over deep midwicket twice in the next over to bring up his fifty.
Stuart Binny then got into the act and clobbered a six and a four off Mohit before de Villiers blasted another six between the long-on and deep midwicket area.