final, were 110 for four come the 18th over chasing 130 after India made 129 for seven in a match reduced by rain from 50 to 20 overs per side.
But Ishant Sharma, having been struck for six and bowled successive wides, took two wickets in two balls to remove Eoin Morgan (33) and Ravi Bopara (30) after they rescued England from the depths of 46 for four with a stand of 64.
That started a collapse that saw four wickets lost for three runs in eight balls with tailender James Tredwell unable to hit the six off the final delivery of the match that would have given England victory.
"It's important to be positive. I said let's look for a good start, that's something that's very critical, don't look at the result," explained Dhoni when asked what he told his team when they took the field in defence of a modest total.
"The first and foremost thing was don't look up, God is not coming to save you, you have to fight it out," added the wicketkeeper-batsman , one of just three survivors along with Virat Kohli and Suresh Raina from the India team that beat Sri Lanka in a Mumbai final to win the 2011 World Cup.
"We're the number one ranked team, let's play like that."
This win against the tournament hosts, albeit in front of a capacity Edgbaston crowd dominated by India fans, meant the World Cup holders, in what is set to be the last Champions Trophy before its replacement by a World Test Championship, won all five of their matches after a pair of warm-up victories.
"Even the warm-up games for us are important because if we lose one then people start saying we can't play overseas," said Kohli, who top-scored for India with a rapid 43.
"The guys winning seven games out of seven and showing their character like we did, everyone's really really happy."
England needed 20 to win off 16 balls with six wickets standing only to 'choke' in a manner more usually associated with South Africa.
"Clearly from there you would back yourself to win more times than you would lose in that situation, but it shows how quickly games can change in Twenty20 when you lose a couple of wickets," said dejected England captain Alastair Cook.
Asked if this was his worst day on England duty, the opener replied: "As a captain, yeah."
"It's a tough pill to swallow at the moment. We had high hopes coming in today of achieving something special.
"We got close. I'm proud of the way the lads have fought from being under a fair bit of pressure in this tournament."
Cook was unusually vocal in his criticism of Australian television umpire Bruce Oxenford for giving out Ian Bell stumped by Dhoni off left-arm spinner Ravindra Jadeja, the man-of-the-match for his 33 not out and two for 24.
It was a close call but Oxenford ruled in India's favour and a disbelieving Bell, on his Warwickshire home ground, was out for 13 with England in trouble at 46 for four.
"I thought it was a poor decision," said Cook. "I only saw the replay a couple of times on the Belly one. Maybe he (Oxenford) saw a different angle to the one we saw.
"It loomed pretty clear that he was in.
"But he's paid to make those decisions. If he's made the decision it's an umpire's game isn't it?"