Chasing the KKR's low 131, the visitors were bundled out for 49, the lowest total in the Indian Premier League. The previous being was 58 by Rajasthan Royals against RCB in 2009.
Nathan Coulter-Nile (3/21), Chris Woakes (3/6) and Colin de Grandhomme (3/4) starred with the ball for the hosts as they skittled out their rivals for their lowest score ever.
Coulter-Nile set the tone for the hosts, removing RCB skipper Virat Kohli for a golden duck as he chased a fullish delivery outside off stump to give a simple catch to keeper Robin Uthappa. Sections of the Eden were stunned to silence as home team supporters brought the house down.
The Indian captain seemed unhappy with the movement behind the sidescreen, fuming on his way back.
Umesh Yadav got Mandeep Singh's (1) back with the latter cutting straight to Manish Pandey at point, but it was Coulter-Nile who bowled a fiery first spell (3-0-21-3) sending the dangerous A.B. de Villiers (8) back in the hut after the South African hit two boundaries.
Kedar Jadhav (9) too failed to negotiate the Australian as the 2016 runners-up were tottering at 4/24.
Chris Gayle (7; 17b 1x4 0x6), who was the last hope for Kohli's men, cut a frustrated figure trying to pull Woakes over midwicket but giving Couler-Nile an easy catch at mid off.
Stuart Binny (8) and Pawan Negi (2) fell shortly as the two-time champions completed a remarkable comeback. Samuel Badree, Tymal Mills, and Yuzvendra Chahal were out soon after. Sreenath Aravind was not out on 5.
Earlier, an excellent spell by leg-spinner Chahal helped RCB bundle out KKR for 131.
He returned figures of 3/16 while the other RCB bowlers also did well to restrict the hosts to the low total.
Mills -- playing in place of Andre Milne -- scalped 2/31 while Negi took two wickets conceding just 15 runs in three overs.
Playing in front of a packed stadium, Chahal -- who in February returned best figures by an Indian in Twenty20 cricket with 6/25 against England -- used the flat deck to his advantage, bowling with variations that flummoxed the home team batsmen.
Sunil Narine (34; 17b 6x4 1x6) was the top-scorer for KKR with the off-spinner continuing from where he had left off in the last match, spanking Badree for three consecutive fours and a six in the first over of the game.
The southpaw, who was catapulted up the order after Chris Lynn got injured, hit Aravind for two back-to-back fours to get the crowd, mostly cheering for the away side, going.
At the other end, Gautam Gambhir (14, 11b, 1x4, 1x6) stay at the crease was cut short by the returning Mills who caught the in-form left-hander's outside edge for a caught behind which was initially debated, but replays showed clear nick.
Narine's cameo -- his third this season -- ended when the Trinidadian holed out to Chahal at deep square leg.
Narine and Gambhir stitched together a 48-run opening partnership.
Robin Uthappa (11; 9b 2x4 0x6) did not last long, playing across the line to a fuller Badree delivery to be adjudged LBW by umpire C.K. Nandan. The hosts stared down the barrel from then on losing the next three three wickets for 27 runs.
Yusuf Pathan (8), Pandey (15) and Colin de Grandhomme (0) were removed by Chahal as KKR were left reeling at 93/6.
Woakes (18; 21b 3x4 0x6) and Suryakumar Yadav hung around for sometime for a 27-run seventh wicket stand before Mills got rid of Woakes and Coulter-Nile (2) followed suit without troubling the scorers much.
Suryakumar (15; 19b 1x4 0x6) fell to Negi while Kuldeep Yadav was taken by Aravind. Umesh Yadav remained not out for 2.