Tournament hosts England, still to win a major one-day international title, appeared to have done the hard work in holding India to 129 for seven in a match reduced by rain to a 20 overs per side contest.
But, chasing 130, they collapsed to 46 for four, before a partnership of 64 between former Ireland left-hander Eoin Morgan (33) and Ravi Bopara (30), who'd earlier taken three for 20 with his medium-pacers, swung the match back their way.
However, India seamer Ishant Sharma turned the match on its head by removing Morgan and Bopara, both with the aid of catches by Ravichandran Ashwin, off successive deliveries to leave England 110 for six in ther 18th over and needing 19 off the last 12 balls.
That eventually became six off one ball and that proved too much for tailender James Tredwell as he failed to make contact against fellow off-spinner Ravichandran Ashwin.
Ravindra Jadeja was named man-of-the-match after making 33 not out and then taking two for 24 with his left-arm spin.
India's win left England still searching for their first major ODI trophy after defeats in three World Cup finals (1979, 1987 and 1992) and a loss to the West Indies at The Oval in the 2004 Champions Trophy final when they last staged this event.
If this was, as has been stated by the International Cricket Council (ICC), the last Champions Trophy, it certainly went out with a bang with India's youthful side containing just three survivors — captain Mahendra Singh Dhoni, Virat Kohli and Suresh Raina — from the team that beat Sri Lanka in Mumbai to win the 2011 World Cup final.
England's reply suffered an early setback when captain Alastair Cook (two) was well caught in the slips for two by Ashwin off Umesh Yada.
They were 28 for two when Jonathan Trott, on his Warwickshire home ground, was stumped by Dhoni off Ashwin for 20.
Joe Root then holed out cheaply off Ashwin before opener Ian Bell, like Trott a Warwickshire player, was stumped off Jadeja.
It was a desperately close call but, after several minutes' study, Australian third umpire Bruce Oxenford ruled in India's favour, although Bell was clearly convinced there was enough doubt for the decision to go his way, and England were in trouble at 46 for four.
England needed 59 off the final 36 balls but that target was reduced to 48 off 30 balls after Bopara launched Ishant Sharma over mid-wicket for six.
Morgan then weighed in with a reverse-sweep four off part-time spinner Raina.
Bopara swept Jadeja for six to raise a fifty stand with Morgan.
But Morgan then holed out and Bopara, off what might have been a wide had he left it alone, was caught off a hook.
The organisers, keen to provide some meaningful cricket in what was meant to be a 50 overs per side contest, took the unusual decision to extend play by two hours to ensure a result in front of a packed crowd, with no reserve day.
England dismantled the Indian top-order after winning the toss in overcast conditions.
India, who shared the 2002 Champions Trophy after a rain-ruined final against Sri Lanka in Colombo, were reduced to 66 for five before Kohli and Jadeja boosted the total by adding a quickfire 47 for the sixth wicket.
Kohli smashed 43 off 34 balls that included four boundaries and a six, before he holed out off James Anderson in the penultimate over.
Jadeja faced 25-balls for his unbeaten 33.
Opener Shikhar Dhawan, who went into the final as the tournament's leading scorer with 332 runs in four matches, hit 31 of 24 balls that included a six over third-man against Stuart Broad.
But the left-hander was dismissed off Bopara's second delivery, caught in the covers by Tredwell and the all-rounder removed Raina and Dhoni in the space of four balls.
Raina drove Bopara straight to Cook at mid-on, while Dhoni (0) slashed the bowler high to Tredwell at third man. – Sapa-AFP