Captain McCullum's 302 anchored New Zealand's record 680 for eight declared, setting the visitors the impossible task of scoring 435 runs in 67 overs to achieve the victory they needed after the hosts won the first Test at Eden Park by 40 runs.
New Zealand had India in trouble early in their second innings with the sniff of an unlikely victory in their nostrils but once Virat Kohli knuckled down to record his sixth test century, McCullum and Mahendra Singh Dhoni decided to call the game off with 15 overs remaining.
Tim Southee took two wickets after lunch to reduce India to 54 for three before Kohli (105 not out) and Rohit Sharma (31 not out) batted out the remainder of the day's play to take their side through to 166 for three.
"Without being disrespectful I probably didn't know the magnitude of it (scoring 300) until the last 24 hours," McCullum said. "I watched Martin Crowe score his 299 and thought it would have been an amazing feat if he scored 300 but probably didn't quite understand how much it meant to the whole country.
"I think in terms of New Zealand cricket and moving forward for this team, we have finally broken that 300 barrier and hopefully some of these guys will continue to break that."
McCullum resumed with debutant Jimmy Neesham (67 overnight), as the queues formed outside the ground to see what many in the small crowd hoped would be history in the making.
He scored his first run of the day when he pushed an Ishant Sharma delivery wide of mid-off and strolled through for a single, which was warmly applauded, and pulled the bowler to the midwicket fence for his first boundary.
Ishant caused a collective intake of breath when he comprehensively beat McCullum on 293, though the batsman did not get a nick.
Neesham, however, was not getting caught up in the emotion as the tension ramped up with every delivery, every over that McCullum was still at the crease being applauded.
The 23-year-old temporarily stole his captain's thunder with his first test century when he tucked Ishant off his hip for two runs.
Neesham's century came from 123 balls, including 15 boundaries, and was greeted with a massive cheer from the crowd as he raised his arms and celebrated.
McCullum then reached the milestone many had been waiting for when he dabbed Zaheer Khan behind square for his 32nd four and received a sustained round of applause that went on for more than a minute, while his father Stu jumped to his feet in celebration.
The 32-year-old's innings lasted just two more balls when he feathered a catch off Zaheer to Dhoni.
His triple century was the 28th in Test cricket and the New Zealand skipper became the 24th player to score one.
Brian Lara, Virender Sehwag, Chris Gayle and Don Bradman all struck two triple tons.
McCullum scored 535 runs in the two-match series, having also scored 224 in the first game in Auckland.
Neesham was 137 not out when McCullum declared at New Zealand's highest Test score, surpassing the 671-4 they scored against Sri Lanka in 1991 at the same ground.
"As a cricket fan, I think he batted really well and he was given good company by Watling," Dhoni told reporters of McCullum's innings.
"Playing 500-odd deliveries itself is very tough, you know. Just forget the amount of runs he scored.
"Playing the amount of deliveries and just to keep going... I think he batted really well and I think it was one of the good innings that we were able to see."
- Sports & Recreation
- Mahendra Singh Dhoni
- New Zealand