Sandeep Sharma led with impressive figures of 3/15 while Rishi Dahwan (2/14) and Mitchell Johnson (2/19 ) chipped in with two wickets apiece. There was a wicket for Laxmypathi Balaji also.
Having missed the team's first four games with a hamstring injury, Chris Gayle attacked from the word go, picking 20 runs in the first over of the match. But that's all he could make as the left-handed batsman fell in the next over.
Yuvraj Singh (35) top-scored for RCB with the help of three fours and a six while facing 32 balls.
Earlier, RCB had a rollicking first over with the returning Gayle picking Glenn Maxwell for special treatment.
The first two boundaries were not convincing but the sixes over long-on and long-off had Gayle written all over them.
RCB's joy was short-lived though as Sandeep Sharma cut short the towering Jamaican's stay after he missed the line to be bowled off a delivery that swung away from the left-hander.
More blows awaited RCB as they lost their skipper Virat Kohli cheaply, Sharma being the bowler again. The 20-year-old medium pacer from Patiala then accounted for Parthiv Patel, before Rishi Dhawan joined in the party, removing the dangerous A B de Villiers and Yuvraj Singh in quick succession.
Pace spearhead Johnson and Balaji then struck to make matters worse for RCB.
Kohli's was a debatable decision as the ball seemed to be going down the legside. The batsman looked frustrated as he made his way back to the dressing room.
Takawale poked at a length ball and got a thick edge that was duly taken by wicketkeeper Wriddhiman Saha.
While going for big drive on the up, Patel edged one to the keeper, leaving RCB precariously placed at 26 for four.
RCB put up a brief resistance before de Villiers found Maxwell at backward point. The South African put on 41 runs for the fifth wicket with Yuvraj, who was dismissed by Dhawan even before the batting team could cross 100.
Albie Morkel (15) and Varun Aaron (11) took the score past 120.