Scorecard | Match in Pics
Dhoni smashed an unbeaten 87 off 70 balls to power the injury-ravaged world champions to 300/7 after he won the toss and chose to bat on a sluggish wicket at the Rajiv Gandhi International Stadium.
England, fresh for their overwhelming success over India at home, were shot out for 174 in 36.1 overs to hand India the early lead in the five-match series.
Captain Alastair Cook top-scored with 60, but England lost their last eight wickets for 63 runs after being comfortably placed at 111/2 in the 23rd over.
Left-arm spinner Ravinda Jadeja and off-break bowler Ravichandran Ashwin grabbed three wickets each and seamer Umesh Yadav claimed two in front of 25,000 delighted home fans.
Dhoni's men had been blanked 4-0 in the Test series and 3-0 in the one-dayers on their recent tour of England.
India, playing their first international at home since the World Cup triumph in April, were without star batsman Sachin Tendulkar and at least six other regulars, due to injury or poor form.
The hosts defended the total with a new-look bowling attack in which three specialists, Vinay Kumar, Yadav and Ashwin, had played only 25 one-dayers between them before Friday's match.
England were reduced to 40/2 by the 10th over before Cook and Jonathan Trott (26) put on 71 for the third wicket.
Jadeja turned the match around by removing both batsmen in successive overs, Cook holing out in the deep and Trott being bowled to make England 120/4.
The tourists slipped further to 134/7 as Ashwin dismissed Ravi Bopara and Tim Bresnan and Jadeja took care of the highly-rated Jonathan Bairstow.
Yadav bowled Graeme Swann and Samit Patel, before Ashwin signalled India's emphatic win by shattering the stumps of last man Jade Dernbach.
Earlier, Suresh Raina made 61 off 55 balls and added 72 for the fifth wicket with Dhoni after India were reduced to 123/4 by the 29th over.
Jadeja chipped in with 27 off 22 balls at the end as India hammered 91 runs in the last 10 overs.
England's bowlers contained the top-order despite the absence of pace spearhead James Anderson, who was rested for the five-match series, and the injured Stuart Broad.
The second one-dayer will be played in New Delhi on Monday.
Teams:
India: Mahendra Singh Dhoni (captain), Gautam Gambhir, Parthiv Patel, Ajinkya Rahane, Virat Kohli, Suresh Raina, Ravindra Jadeja, R Ashwin, Umesh Yadav, Vinay Kumar, Praveen Kumar.
England: Alastair Cook (captain), Craig Kieswetter, Jonathan Trott, Kevin Pietersen, Ravi Bopara, Jonathan Bairstow, Graeme Swann, Samit Patel, Tim Bresnan, Steven Finn, Jade Dernbach.