The 27-year-old made batting look ridiculously easy on a difficult track and his scintillating unbeaten 55 was the difference between the sides in a rain-hit game reduced to 18 overs per team.
India, chasing a target of 119 after losing their opening match to New Zealand, slumped to 23 for three in the fifth over before Kohli and Yuvraj Singh (24) shared a match-high 61-run partnership to steady things at Eden Gardens.
Captain Mahendra Singh Dhoni smashed a six to level the scores and then took a single to seal victory with 13 balls to spare as India maintained an unbeaten World Cup record against their arch-rivals.
Kohli, who embellished his 37-ball knock with seven fours and a six, said he enjoyed the challenge of batting on a tricky wicket in a low-scoring contest.
“That’s what you need, a little testing wicket, a good bowling attack and you pulling the team out of trouble,” Kohli added.
“I think that’s what gives you great pleasure as a cricketer,” he said after entertaining a 61,000-plus crowd that turned up for the tournament’s most-anticipated contest.
Pakistan, put into bat, found the going difficult, especially against the slow bowlers, and managed only 118 for five.
Openers Sharjeel Khan (17) and Ahmed Shehzad (25) were subdued by the Indian bowlers and skipper Shahid Afridi (eight) could not justify his promotion to number three.
Shoaib Malik (26) and Umar Akmal (22) added 41 runs in four overs to take Pakistan past the 100-mark and ensure their pace-heavy attack had something to defend.
Pakistan’s decision to drop left-arm spinner Imad Wasim to accommodate paceman Mohammad Sami on a turning track also backfired.
“I was not expecting a pitch like this but no excuse, we were short by 30-35 runs,” Afridi said.
“Their bowlers bowled really well, especially their spinners, and Virat Kohli played an awesome innings under pressure.”
The match between the winners of the first two editions of the tournament was originally scheduled in the picturesque north Indian city of Dharamsala before Pakistan security fears led to the fixture being moved to Kolkata.