England 307 for 7 (Billings 93, Roy 64, Kuldeep 5-60) beat India 304 for 5 (Rayudu 100 retd out, Dhoni 68*) by three wickets
Shikhar Dhawan and Yuvraj Singh scored half-centuries, and the relatively less-heralded Ambati Rayudu scored a hundred. But, the magic the crowd thirsted for had to be conjured by the man they had assembled in large numbers for at the Brabourne Stadium. MS Dhoni was in a mood to oblige and belted out a crackling assortment of his show-stopping strokes on the way to an unbeaten 40-ball 68.
This was billed as Dhoni's last match as captain of an Indian side, and his knock was meant to be the appetizer to a victorious sign-off. England, and in particular Sam Billings (93 off 85 balls), however, were determined to hijack the plot. A strong start, a rickety middle-phase engineered by India's spinners and a nervy finish ensued, and at the end, England sneaked to their first victory of the tour in a game they looked to win in a canter.
England's chase of 305 got the impetus it needed at the top to insure against any collapses later on. Alex Hales and Jason Roy rattled along to 95 at more than six runs an over. Roy set the template for the innings in the first delivery of the innings - a full, inswinging delivery from Ashish Nehra was driven straight down the ground for four. Four balls later, he drove a similar delivery through the covers. Whenever the bowlers compensated by pitching it short, Roy and Hales leant back to punish.
While Hardik Pandya conceded just 16 from his first five overs, Ashish Nehra, returning from injury, and Mohit Sharma leaked runs. As has been the case for the most part of Dhoni's limited-overs captaincy, he leant on his spinners for control. After Kuldeep Yadav struck with his third delivery - Hales slapped a short delivery to cover - he went on to prise out Roy, who attempted to slog a wrong-un and top-edged a catch to deep midwicket.
Yuzvendra Chahal had up to that point given away 24 runs in three overs, but caught a break when captain Eoin Morgan reverse-swept him to first slip where Dhawan pouched a one-handed stunner. Buttler and Billings, though, revived the chase with a 79-run stand for the fourth wicket. For the most part, they either swept or stepped out of the crease to negate the flight and turn. Kuldeep, however, halted their progress with another double-strike in the 31st over - Buttler hit one to Mohit Sharma at long off and three balls later Moeen Ali was lbw after having missed a sweep.
England were rescued by another robust partnership of 99 runs as Billings and Liam Dawson (41 off 47) took them within striking distance. Despite their dismissals late in the piece, England had little trouble going over the line.
India would apportion a large part of the blame to their catching: three catches were dropped. Mandeep Singh put down Buttler in the 25th over, and Billings was dropped on 44 and 84 by Sanju Samson and Yuvraj respectively.
Much of England's hardwork was done in the afternoon by their fast bowlers after India were asked to bat. Their bowling appeared to be at its most menacing in the first half of the afternoon as Shikhar Dhawan and Mandeep Singh struggled to find fluency.
The first truculent shot - it would become an increasingly common feature as the afternoon wore on - made an appearance in the fifth over when Dhawan hammered a pull over the head of Adil Rashid at fine leg, after he had walked in a few paces too many from the boundary. He then charged at Willey in the next over and flayed one over covers, but Willey wouldn't be denied for much longer as he sneaked one through Mandeep's bat-pad gap in the eighth over.
During the course of their 111-run partnership, Rayudu and Dhawan compulsively swept the spinners, and when they shortened their length, took runs off them with cuts and pulls. Ball, however, pulled one back for his team after he found Dhawan's outside edge in the 29th over. No sooner had Yuvraj walked in, Ball decided to examine his skills against the short ball. Yuvraj held his hand up awkwardly against one such delivery, and later played a clumsy pull. Yuvraj was comfortable against spin though. In the 34th over, he lofted Rashid for two sixes, first over long off and then over the bowler's head.
Rayudu, meanwhile, was jumping out of the crease almost every other delivery and reached his century via a collection of heaves and thumps. His job done, he retired out a couple of deliveries later to give the crowd what they wanted - an opportunity to watch Dhoni bat. Dhoni began scratchily as he was hit on the thigh pad and missed a pull that ricocheted off his body and landed dangerously close to the stumps. But, after a rasping pull played like a top-spin forehand that hinted at rhythm, Dhoni went into overdrive after two successive boundaries in the 44th over.
From thereon, amid wickets at the other end and a pitch-invasion, Dhoni shuffle-flicked, cut and thrashed his way to a half-century. In the last over, Dhoni walloped Woakes for two sixes and two fours. There was the full package of Dhoni treats - the wristy heave over backward square leg, an uppish cut, a miscued pull and a primal slog over deep mid-wicket - as India ransacked 23 runs in the final over. A win for India A would have been sweeter, but the fans will take this.

Arun Venugopal is a correspondent at ESPNcricinfo. @scarletrun