India's chase seemed over when England reduced them to 63-4 in the 12th over but captain Kohli and local boy Jadhav turned the match on its head with the hosts reaching the target with 11 balls to spare to take a 1-0 lead in the three-match series.
The touring side, who lost a five-match Test series 4-0 before returning home for Christmas, would have felt confident of victory after posting 350-7.
Half-centuries from Jason Roy, Joe Root and Ben Stokes took England to their highest ODI total against India, who won the toss and opted to bowl first.
Roy was given out leg before on 18 off paceman Umesh Yadav but reviewed successfully to overturn the decision with replays showing the ball was missing the stumps.
Stokes provided the late assault with a 40-ball knock of 62, studded with two fours and five sixes, as India bled 105 runs in the last eight overs.
Left-arm seamer David Willey gave England the ideal start with the ball by dismissing Indian openers Lokesh Rahul and Shikhar Dhawan inside the first six overs.
But Kohli, playing his first match as India's full-time captain across all formats, and Jadhav then took the attack to the England bowlers.
Kohli, who was the highest scorer in the recent Test series, was stranded on 99 for three deliveries before he danced down the pitch to hit paceman Chris Woakes for a six and bring up his 27th ODI hundred, which came in 93 balls.
Jadhav, who struggled with cramp towards the end of his knock, guided the same bowler to third man for a boundary to bring up his second ton off 65 balls.
Hardik Pandya, unbeaten on 40, and Ravichandran Ashwin (15 not out) combined in a crucial eighth-wicket stand of 38 at the end to take India home.
The second match of the series will be played at Cuttack on Thursday.