- Scorecard
McCullum was unbeaten on 143 -- his eighth Test century -- at close of play, while Williamson was dismissed after tea for 113 -- his fifth hundred -- as the Kiwis finished the opening day on a strong 329 for four in 90 overs.
- Photos from Day 1
The pair combined for a 221-run partnership after the hosts were reduced to 30 for three early in the first session.
All-rounder Corey Anderson was unbeaten on 42 with McCullum at stumps, as Ishant Sharma and Zaheer Khan took two wickets each.
Earlier, India captain Mahendra Singh Dhoni won his sixth successive toss on the tour and put New Zealand in to bat
The 23-year-old Williamson was dropped on 32 by Murali Vijay, at first slip, off Mohammed Shami, and he made the Indians pay big time for the lapse as he continued his magical run with the bat.
India's three-pronged pace attack of Mohammad Shami, Zaheer and Ishant exploited the green drop-in pitch and cool, overcast conditions to knock the top off New Zealand's batting and expose their middle order before the break.
Ishant backed up the initial pressure applied by Shami, whose first six overs cost just five runs, with two wickets, while Zaheer, who joined the Test side to add experience to the attack, dismissed Peter Fulton for 13.
The tall Ishant had Hamish Rutherford well caught by a diving Ajinkya Rahane at gully for six and then had Ross Taylor caught by Ravindra Jadeja at wide mid-off for three.
The wicket was his 150th in Tests and he quickly added to that tally when he had the dangerous Ross Taylor caught by Jadeja at wide mid-off for three.
Taylor's dismissal reduced the hosts to 30 for three before Williamson and McCullum consolidated, adding another 24 runs before lunch.
Taylor had scored a century in New Zealand's first innings of their past three Tests against the West Indies, last December, and also finished the One-Day International series against India with successive centuries.
Zaheer made an immediate impact by drawing a thick outside edge from opener Fulton with the first delivery he bowled, only for third slip, Shikhar Dhawan, to dive in front of Rohit Sharma, who was better-placed to take the catch, and drop it.
To rub salt into the wound, Fulton then clipped Zaheer through midwicket for a boundary off the next ball and repeated the four on the final ball of the over, the second of the day.
Zaheer, however, had the final say when he trapped Fulton in front for 13 when the tall right-hander played across the line of a ball that struck his back foot.
Taylor quickly followed, leaving New Zealand on 30 for 3 and in real danger of a collapse before McCullum and Williamson saw them through to the break.
But India's bowlers were unable to sustain their disciplined line and length after lunch and punished for bowling too short or too full, as New Zealand lost just one wicket in the next two sessions, while scoring at a brisk rate to take control.
Williamson and McCullum scripted the turnaround in the post-lunch session, playing positively to put on 125 runs in 27 overs in the post-lunch session.
The duo continued their domination after the tea break and runs come at a good rate. They also raised their hundreds, the captain first to get to the mark.
In the 58th over, McCullum hit Jadeja down the ground for his first six to reach his hundred in grand style, off 135 balls, including 16 boundaries.
A couple of overs later, Williamson got to his century off 138 balls, making the Indians pay for having him dropped his catch on 32.
McCullum was also dropped on 102, when Dhawan failed to judge a looping catch at short fine-leg.
Both batsmen continued unabated until the 69th over, when finally Zaheer got Williamson to glance one down leg and edge it to the keeper, ending his long-haul partnership with McCullum.
New Zealand's captain was undeterred, though, and put on another brisk 50-run stand with Corey Anderson, as they also took the team past the 300-run mark in the 82nd over.
India took the second new ball straightaway after 80 overs, but the pacers could not make an impression as 150 runs came in the final session of play.
Image: Brendon McCullum (left) is congratulated by Kane Williamson after scoring his century.
Photograph: Phil Walter/Getty Images
'It is a big achievement for me to get 150 wickets in Tests'
IN PHOTOS: India vs New Zealand, Auckland Test (Day 1)
'It's a shame not to be out there with Brendon at stumps'
Ishant completes 150-wicket haul in Test cricket
Williamson is MVP of India-NZ ODIs; Shami is top Indian