Batting first, the RCB posted a challenging 180 for two as captain Kohli, batting with a minor ankle sprain, hit his first IPL as well T20 century but the Lions chased down the target with three balls to spare with a combined effort from their top-order batsmen.
Dinesh Karthik steered the run chase for the Lions with an unbeaten 50 off 39 balls while Brendon McCullum (42), Dwayne Smith (32), captain Suresh Raina (28) made useful contribution as the home side notched up their third win in four matches.
Gujarat Lions began their run chase at the Saurashtra Cricket Association Stadium in a flier as they reached 47 for no loss in the first five overs with Smith and McCullum in an aggressive mood, hitting two sixes and three fours during that period.
Smith was, however, the first one to be dismissed in the sixth over bowled by Kane Richardson as A B De Villiers took a fine catch to reduce the home side to 47 for one.
More From This Section
The sixth over yielded 25 runs for the Lions at the expense of a wicket and at the powerplay overs, the home side were cruising nicely at 72 for one.
McCullum fell in the ninth over to a fine delivery from chinaman bowler Tabraiz Shamsi who had the batsman caught and bowled.
The middle over saw captain Raina and Karthik batting sensibly, scoring mostly in singles and doubles with occasional fours.
Raina was out at a crucial juncture in the 16th over as he mistimed his shot off a Yuzvendra Chahal delivery for Iqbal Abdulla to take the catch at long-off.
(REOPENS DEL 63)
The Lions needed 21 runs off the last two overs with seven wickets in hand. Karthik eased the pressure with two fours off Iqbal Abdullah in the penultimate over as the Lions took 14 runs from it.
Earlier, Kohli struck his maiden T20 century as he carried his bat through the innings with an unbeaten 100 off 63 balls as RCB scored 180 for 2 after electing to bat.
Opening the innings, Kohli, who is yet to score a hundred in his 43 T20 Internationals, struck 11 fours and a six in his superlative unbeaten knock.
Interestingly, Rahul was initially not in the RCB playing eleven but he was included in the team after the toss in place of Mandeep Singh who injured himself during the practice before the match.
The other opener Shane Watson contributed six while A B de Villiers made 20 from 16 balls.
Kohli was seen having some discomfort in the 12th over bowled by Shadab Jakati as he slipped while running for a second run. He later said at the innings break that he had a minor sprain in his ankle but did not trouble much during his unbeaten innings.
The RCB innings though did not begin well as Watson was foxed by a Dhawal Kulkarni delivery in the second over and Jadeja held a skier after running from cover point.
De Villiers was the other batsman out in the eighth over as he simply chipped a good length ball to the Gujarat Lions captain Suresh Raina.