Put into bat, Pakistan did not get the flying start they were looking for and could not mount a late assault either against India's disciplined bowlers who restricted them to 130-7 at the Sher-e-Bangla National Stadium.
India made a strong, if not spectacular, start to their chase with their openers adding 54 runs in eight overs before Shikhar Dhawan (30) fell to Umar Gul to trigger a mini-collapse.
Rohit Sharma (24) dragged a Saeed Ajmal delivery on to his stumps while Bilawal Bhatti rearranged Yuvraj Singh's stumps as India slumped to 65-3 in the 11th over.
Kohli displayed the kind of form that has made him the mainstay of Indian batting, playing with characteristic ease and grace to add 66 runs with Suresh Raina (35 not out) to win the match with nine balls to spare.
The victory prolonged India's unbeaten record against Pakistan in 20-over and 50-over World Cups but Pakistan captain Mohammad Hafeez denied it was a psychological barrier for Pakistan.
"You may say whatever you want but we don't think like 'this is World Cup and we've never beaten them in World Cup events'," he told reporters.
"We go into a match (with) positive (mindset). Unfortunately, we could not snap that streak but we'll try our level best next time."
Hafeez said Pakistan could not accelerate in then final overs which could have taken them to a 150-plus score.
Wary of the dew factor and confident of his team's ability to chase under floodlights, India captain Mahendra Singh Dhoni earlier asked Pakistan to bat first and opened with off-spinner Ravichandran Ashwin.
Kamran Akmal warmed up with a couple of boundaries before running himself out in the second over following a comical mix-up with Ahmed Shehzad.
Shehzad featured in another confusion in the very next delivery but was fortunate as Dhoni's direct throw missed stumps as the batsman hurried back abandoning his pursuit for a non-existent single.
Hafeez also had his share of luck as Yuvraj, usually a safe catcher, dropped him at deep midwicket off Mohammad Shami when the Pakistan captain was on five.
Hafeez (15) could not make the most of the reprieve and fell to Ravindra Jadeja's third delivery after Bhuvaneshwar Kumar ran from deep cover to take a low, diving catch.
Shehzad (22) joined him in the pavilion in the next over, having charged out only to be completely foxed by leg-spinner Amit Mishra's prodigious turn.
Umar Akmal (33) added 50 runs with Shoaib Malik (18) but fell to Mishra just when he looked set for a late assault to push the score.
"Spin and flight are my strengths and MS (Dhoni) backed me to bowl without pressure," said Mishra who has been in and out of the Indian team.
"It's difficult when you sit out matches after matches but I always think positive and tried to improve."
Pakistan expected batting fireworks from Shahid Afridi when he walked in but the all-rounder fell for eight as Raina took a diving catch in the deep to snuff out Pakistan's hopes of a late surge.