McCullum struck a historic 302, while BJ Watling made 124 and debutant James Neesham scored an unbeaten 137 as New Zealand declared their second innings at 680 for eight, giving India an improbable 435 runs to chase in little over two sessions of play.
India overcame some anxious moments before finishing at 166 for three in 52 overs as the two captains decided to call off the proceedings with no result in sight.
It turned out to be a disastrous tour for India as they remained winless, losing the ODI series 0-4 and the Test series 0-1 following their 40-run loss in the first Test at Auckland.
India looked like winning this Test match after reducing New Zealand to 94 for five in their second innings but McCullum staged a remarkable fightback and together with Watling shared a world record partnership of 352 runs for the sixth wicket to take the hosts to safety.
McCullum's 302 runs overtook Martin Crowe's 299 scored against Sri Lanka, also at the same ground, in 1991 to become highest individual Test scorer for New Zealand.
It was also the third-highest innings by a number five batsman in Test cricket after Michael Clarke's 329 not out against India in 2012 and Sir Don Bradman's 304 against England in 1934.