Put into bat in a stop-start, rain-hit match, India posted a commanding 336-5, with Rohit Sharma (140) smashing his second century of the tournament.
Fakhar Zaman and Babar Azam kept alive Pakistan's hopes for a while in the chase but losing four wickets in an 18-ball span effectively derailed their hopes.
Set a revised target of 302 in 40 overs, Pakistan eventually finished on 212-6 and slumped to their third defeat in five matches.
Earlier, India went into the contest with an unblemished 6-0 record against its arch-rival in a sell-out match that began under gray skies at Old Trafford.
Shikhar Dhawan's injury had forced India to pick KL Rahul as Rohit Sharma's opening partner and they immediately hit it off after being asked to bat.
They treated Mohammad Amir with respect and Hasan Ali with disdain, and were at ease when spinners Shadab Khan and Imad Hasim operated in tandem.
Wahab Riaz dismissed Rahul for 57 to end the 136-run stand but Rohit could not be denied another assured ton which he duly brought up in 85 balls.
The right-hander was looking good for yet another 'daddy hundred' but scooped an Ali delivery from outside off-stump to the short fine leg fielder to depart for 140.
Rohit's 24th ODI century was studded with 14 boundaries and three effortless sixes.
Amir dismissed Hardik Pandya and Mahendra Singh Dhoni in quick succession but Kohli made 77 before Amir dismissed him after a rain interruption.
Kohli became the fastest batsman to reach 11,000 ODI runs, a milestone he achieved in his 222nd innings.
Amir (3-47) was pick of the Pakistani bowlers again, his immaculate 'death overs' denying India a 350-plus total.
India did not have to wait long for a breakthrough when Pakistan began their chase and it came in eventful manner.
Bhuvneshwar Kumar hobbled off the ground midway through his third over after landing awkwardly and Vijay Shankar was called to complete the over.
The pace bowling all-rounder responded by trapping Imam-ul-Haq lbw with his first delivery to mark a memorable World Cup debut.
The left-right combination of Zaman (62) and Azam (48) steadied the innings with a century stand before Kuldeep Yadav dismissed both the well-set batsmen to trigger a collapse.
The left-armer spun one past Azam's tentative bat to castle him and, in his next over, induced an ill-timed sweep from Zaman which Yuzvendra Chahal pouched at short fine leg.
Pandya then ripped the heart out of Pakistan's middle order, dismissing Mohammad Hafeez and Shoaib Malik in successive deliveries as the wheels came off Pakistan's chase in a three-over phase when they lost four wickets for 12 runs.They were 166-6 after 35 overs when rain forced the players off the ground again and the revised target left them needing an impossible 136 off five overs.
Please click to read our informative text prepared pursuant to the Law on the Protection of Personal Data No. 6698 and to get information about the cookies used on our website in accordance with the relevant legislation.
6698 sayılı Kişisel Verilerin Korunması Kanunu uyarınca hazırlanmış aydınlatma metnimizi okumak ve sitemizde ilgili mevzuata uygun olarak kullanılan çerezlerle ilgili bilgi almak için lütfen tıklayınız.