India failed to chase down a target of 191 despite a ferocious start that saw openers Gautam Gambhir and Virender Sehwag put on 76 off 37 balls.
"The way we started was really amazing and we should have capitalised on it," Dhoni told reporters. "But we were not totally outplayed and I don't want to look into the negatives too much."
Spinner Daniel Vettori took four for 20 as India slumped to 163 for nine in the Group E match and Dhoni said the New Zealand captain had played a crucial role.
"He had a plan and bowled well and spin is definitely a big factor here in Johannesburg. The key to our defeat was that we lost wickets at regular intervals."
New Zealand had a batting collapse of their own as they slipped from 69 for one to 91 for five, before Craig McMillan and Jacob Oram added 73 runs off 33
"The bowling at the death is a worrying factor and the ball does not reverse because it is still quite new. If you're conceding 60 or 70 runs in the last five overs, it doesn't help your team and that was crucial as well," Dhoni said.
"But the bowling start was good too, we restricted them and we took some good wickets."
Vettori said the start of the Indian run-chase had been a daunting time.
"I absolutely felt the pressure but I knew that if we could squeeze them a bit and take wickets regularly we'd still be in with a chance.
"I'm happy with my performance but it felt like it was continual attack out there. You have to continually think on your feet and I tried to mix it up as much as possible. Varying my pace is my forte, it's the only thing I've got and the pitch suited me," Vettori said.
"Jacob Oram and Craig McMillan also played really good cricket and finished our innings particularly well."
Vettori sends India crashing
Stats highlights: New Zealand vs India
Dravid's exit: Is BCCI bothered?
Why Rahul Dravid stepped down