Dhoni, the batsman enthralled the crowd in Mumbai with a 40-ball 68 not out but he could not get a winning farewell as skipper after India A posted 304/5 in 50 overs.
England successfully chased down 305 in their first warm-up match with Sam Billings (93, 85 balls, 8x4) starring with the bat. England scored 307/7 in 48.5 overs to win by 3 wickets. Opene Jason Roy scored 62 off 57.
India A were on top when England lost half of their side for 191 in 30.4 overs but Billings and Liam Dawson's (41) 99-run partnership turned the game on its head.
For the hosts, chinaman bowler Kuldeep Yadav took 5 wickets for 60 in 10 overs. Hardid Pandya and Yuzvendra Chahal had one victim each.
Earlier, India A were powered past the 300-run mark by Ambati Rayudu, who scored a superb 100 (97 balls, 11x4, 1x6). He retired after reaching the milestone.
The right-handed Rayudu, who is not part of the Indian ODI and T20I squads to face England, batted at number three and made good use of batting conditions.
Apart from Rayudu, Shikhar Dhawan (63) and Yuvraj Singh (56) contributed with the bat.
Towards the end it was the finisher Dhoni's show. He plundered 23 off the final over bowled by Chris Woakes.
Before the match, Dhoni was felicitated by the Cricket Club of India (CCI) for his contribution to Indian cricket.
Dhoni, who took charge as India's captain in 2007, is the most successful skipper in country's history in all three formats.
India A and England will play another warm-up match at the same venue on January 12. Ajinkya Rahane will lead the hosts.
India-England 3-match ODI series starts in Pune on January 15 (Sunday).