With support from Devdutt Padikkal, who hit 55 from 27 balls, Kohli kept the home side firmly in the chase.
When Kohli finally fell to Jason Holder, they needed just 52 runs from 38 balls and Krunal Pandya’s 12-ball 23 took them home with seven balls to spare.
Earlier, Sudharsan had scored a sublime 100 from 58 balls as he became the fastest player to reach 2,000 runs in the IPL – doing so in just 47 matches.
Shubman Gill provided support as they reached 128 without loss in the 13th over before the Gujarat captain was dismissed by Suyash Sharma for 32 from 24 balls.
But Gujarat’s inability to accelerate in the second half of their innings proved costly again, leaving them seventh in the table with three wins from seven matches.
Meanwhile, RCB are second with a fifth win from seven games and sit one point behind leaders Punjab Kings, who have a game in hand.
