- Scorecard
McCullum's entertaining knock of 224 lifted New Zealand to a huge 503 in their first innings despite a six-wicket haul by pacer Ishant Sharma.
India were struggling at 130 for four when bad light halted play early, with Rohit Sharma on 67 and Ajinkya Rahane unbeaten on 23.
The visitors are 373 runs behind New Zealand's first innings total and still require another 174 runs to avoid the follow-on.
The top-order again performed miserably as India were reduced to 10 for three at one stage, with Shikhar Dhawan (0), Cheteshwar Pujara (1) and Virat Kohli (4) departing cheaply. Opener Murali Vijay look settled on 26 before left-arm pacer Neil Wagner broke through his defences to reduce India to 51 for four.
Mumbai youngsters Rohit and Rahane staged a recovery with a steady 79-run stand for the fifth wicket. The former looked in good touch as he hit eight fours and a six off Kane Williamson during his 107-ball essay.
Trent Boult captured two wickets in the first over, snaring Dhawan and Pujara to catches behind the wicket, leaving the visitors 3 for 2. Tim Southee then chipped in with a vicious bouncer that caught Kohli's gloves and Peter Fulton held the head-high catch at second slip to reduce them further to 10 for 3.
Coming in at 10 for three, Rohit was initially a bit shaky and scored only one off 24 deliveries before getting his first boundary. He was involved in a partnership of 41 runs with Vijay, who saw left-arm seamer Wagner fire one in from wide off the crease; the delivery straightened after pitching and beat the batsman, clipping the bails in the process.
Once Vijay was gone, Rohit decided to counter-attack and hit three boundaries off a Wagner over. In another Wagner over, he hit a perfect cover drive while he pushed Southee for a boundary through mid-off effortlessly. Out of his eight boundaries, six were hit off Wagner.
New Zealand's bowlers had been given a superb target to attack, courtesy McCullum's second double century in Tests.
The captain's dismissal ended New Zealand's innings; he was just one run short of his highest Test score of 225, also against India in 2010.
Attempting another six to add to the five in his 307-ball innings, McCullum was out courtesy some skilful fielding by Ravindra Jadeja, who caught the ball near the boundary and threw it back into the field of play as he overstepped the rope, then stepped back in and re-took the catch.
McCullum's innings was the highest by a New Zealander at Eden Park and fourth highest overall. England's Wally Hammond holds the record of 336 not out in 1933.
India pace bowler Ishant, who was under pressure after poor form in the one-day series, was the pick of the visitors' bowlers with figures of 6 for 134.
India's reply began terribly as a fired up Boult and Southee harried the batsmen from the first over.
Boult gave his side a huge boost when Dhawan wafted at a ball outside-off stump and sent it flying to to Kane Williamson at gully.
The left-arm pacer then tempted Pujara to chase a wide delivery on the final ball of the over and had him easily caught by wicketkeeper B J Watling.
Southee, who had been peppered by India's pace bowlers earlier in a cameo innings of 28, unleashed a delivery that reared towards Kohli's throat and the right-hander could only nick the ball behind off his gloves.
Out of the six wickets that fell today with an addition of 174 runs, Ishant took four while Jadeja (1/120) and Mohammed Shami (1/96) shared the other two.
Zaheer Khan (2/132) did not add to his overnight tally.
Starting from the overnight score of 329-4, it didn't take much time for McCullum and Corey Anderson (77) to get going as their fifth wicket stand yielded 133 runs.
The Kiwi batsmen looked to get after the Indian bowlers from the start on Day 2, looking to score as many runs as possible. In the third over of the day, the skipper brought up his 150, while in the next one, Anderson reached his maiden half-century, off 88 balls, with seven fours and one six.
Anderson was looking to attack at every possible opportunity, as he hit 26 runs off the first 21 balls he faced in the morning session. He was especially hard on Ishant, clobbering him for three fours in the 96th over, quickly moving on into the sixties.
Perhaps that led to the next bit of action as Ishant changed his line in the 100th over, coming around the wicket, and was able to get a leg before decision in his favour and Anderson walked back after scoring 77, hitting 13 fours and a six in his 109-ball knock.
McCullum reached the milestone of the highest individual score in a Test innings for New Zealand at Eden Park, beating Ian Smith's 173, also scored against India, way back in 1990. A few overs later, he surpassed his highest score at home, 185 against Bangladesh in 2010.
Southee played some attacking strokes to garner quick runs and push India further on the backfoot, scoring 28 with the help of three fours and two sixes, before he was bowled by Shami in the 109th over.
On day one, India won the toss and reduced New Zealand to 30/3, before a 221-run fourth-wicket stand between McCullum and Kane Williamson (113) put them back in control of proceedings.
Image: Brendon McCullum
Photograph: Phil Walter/Getty Images
Now, batsmen not only baffled by the pitch but also the new ball
McCullum, Williamson tons help New Zealand dominate Day 1
Williamson is MVP of India-NZ ODIs; Shami is top Indian
IN PHOTOS: India vs New Zealand, Auckland Test (Day 1)
Auckland Test: McCullum betters Astle; Zaheer gets 200 wkts away