Sam Billings top-scored with 93 as England chased down a stiff 305-run target to win their opening one-day warm-up match against India A by three wickets.
Batting at No 3, Billings' perfectly paced innings off 85 balls, including eight fours, helped England overcome a couple of stutters in their run-chase, including slipping to 191-5 in the 31st over.
Put in to bat first, the hosts had posted 304-5 from their 50 overs, with Ambati Rayudu scoring a century before being retired, while more familiar foes, Yuvraj Singh (56 off 48 balls) and MS Dhoni (68no off 40), both smashed quickfire fifties.
Dhoni's presence skippering the side, a week on from resigning as India ODI captain, and free entry in to the Brabourne Stadium in Mumbai, ensured there was a full crowd despite it only being a warm-up game.
And that crowd were treated to quite the contest, with Billings' 99-run stand for sixth wicket with Liam Dawson (41 off 47) seemingly sealing the tourists' triumph before both fell in consecutive overs, leaving Chris Woakes to hit the winning runs with seven balls to spare.
England left Ben Stokes and Jonny Bairstow on the sidelines for the game, rested after a taxing 2016, while Liam Plunkett also missed out, nursing a calf injury, and Joe Root was still absent after the birth of his son.
The visitors made a strong start, with David Willey (2-55) bowling Mandeep Singh for eight in the eighth over, but Shikhar Dhawan (63) and Rayudu swiftly rebuilt.
The pair put on 111 runs for the second wicket across the next 21 overs - taking a particular liking to Dawson, his two overs costing 24 runs - before Jake Ball (2-61) picked up Dhawan, caught behind.
Yuvraj kept up the scoring, hitting six fours, and two sweetly-struck sixes off Adil Rashid in the 34th over, on his way to a half century, while Rayudu reached his hundred off his 97th ball before retiring.
Dhoni came to the crease with nine over remaining, and despite playing and missing with a few lusty blows early on, he soon found his range, cracking eight fours and two sixes.
Ball and Willey took the wickets of Yuvraj and Sanju Samson - for a first-ball duck - in back-to-back overs, before Dhoni decimated England's attack, particularly Woakes, in the closing stages.
Woakes' final two overs cost a combined 38 runs, 23 coming from the last to lift India's score over 300.
In trademark fashion, Jason Roy (62 off 57 balls) and Alex Hales (40 off 37) got England off to a flying start, with a 95-run opening partnership before both, and skipper Eoin Morgan (3), fell inside a four-over spell.
Kuldeep Yadav - who impressed for the hosts, finishing with 5-60 - accounted for England's openers in consecutive overs, while Yuzvendra Chahal (1-56) removed Morgan.
Jos Buttler came in and biffed 46 from 38 balls - striking three fours and a pair of sixes - but again England lost wickets in a cluster.
Two fell in three balls as Kuldeep got Buttler caught on the long-off boundary and then trapped Moeen Ali lbw for a duck.
And despite another scare when Dawson and Billings departed with 15 runs still needed for victory, England ultimately got home thanks to back-to-back Woakes (11no) boundaries in the penultimate over.
Watch the first ODI between India and England from 7.30am on Sunday, on Sky Sports 2.