Chasing New Zealand's 7-292, India were all out for 268 in the 49th over despite Virat Kohli (123) posting his 18th ODI century in Napier.
It was the first time India have lost an ODI in which Kohli has reached three figures.
They appeared to have victory in their grasp when they needed just 70 from the last eight overs, and Kohli and MS Dhoni looked comfortable in a 95-run partnership for the fifth wicket.
But in the space of six deliveries, McClenaghan removed Dhoni (40), Ravi Jadeja (duck) and Kohli to have India reeling at 7-237, and they never recovered.
That brief spell was where the game was lost, Dhoni said.
"Those three wickets that was tough on the team. You don't expect your tailenders to win the game and it was very important that one of us should've carried on. It was disappointing to lose the game."
New Zealand captain Brendon McCullum said it was "a captain's nightmare" when Kohli and Dhoni were in full flight but he had faith in McClenaghan.
"He's in the team to attack and take wickets and the message was pretty simple, 'try and find a way to take a wicket. Be aggressive as you can and be as hostile as you can and if it falls your way, great'. I thought he was outstanding."
Anderson had earlier returned to his brutal best with the bat after going off the boil following his record-breaking century in 36 balls against the West Indies three weeks ago.
In his first start against India, the world's top-ranked ODI side, Anderson blasted an unbeaten 68 off 40 deliveries.
He hit four sixes, two of them out of the ground, then returned with the ball to display his all-rounder credentials by removing two of India's top-order batsmen Shikhar Dhawan (32) and Ajinkya Rahane (seven).
India, who stand to forfeit their world No.1 ranking if they lose the five-match series to the eighth-ranked New Zealand, chose to bowl first on a wicket with a history of favouring the side batting last.
The second ODI is in Hamilton on Wednesday.