Venkatsai Laxman and Mahendra Singh Dhoni led India's run-spree with superb centuries to put their team in command on the second day of the second Test against a hapless West Indies on Tuesday.

Middle-order batsman Laxman hit a stylish 176 not out and skipper Dhoni a robust 144 as India posted a massive 631-7 declared in their first innings at Eden Gardens in Kolkata.

The West Indies faltered in reply, reaching 34-2 when play was called off due to bad light. Kirk Edwards was unbeaten on 12 and Darren Bravo on four not out.

Indian seamer Umesh Yadav struck in his first over when he had Adrian Barath (one) caught by Virender Sehwag at second slip before off-spinner Ravichandran Ashwin removed Kraigg Brathwaite (17), caught by Gautam Gambhir at short-leg.

Laxman hit 12 fours in his 17th Test hundred, and the fifth at this venue, while Dhoni smashed five sixes and 10 fours in his fifth Test century as India continued to gather runs comfortably against both pace and spin.

The duo exposed the West Indies' bowling limitations on a slow pitch with a 224-run stand for the seventh wicket as the hosts added 285 runs to their overnight total of 346-5.

It was India's second-highest total in Tests against the West Indies, their best being 644-7 declared at Kanpur in 1979.

It was a demoralising day for the West Indies, who could get just two wickets in more than two sessions as none of their bowlers could trouble Laxman and Dhoni.

Leg-spinner Devendra Bishoo, paceman Kemar Roach, seamer Darren Sammy and part-time off-spinner Marlon Samuels all conceded more than 100 runs in a mediocre West Indies' bowling performance.

Dhoni dominated the big stand with Laxman with rich strokeplay. He reached his century -- his first since February 2010 -- in the afternoon with a single to long-off off part-time spinner Brathwaite.

The Indian skipper, caught behind off Roach no-balls when on 13 and 16, punished the spinners as he lofted Bishoo and Samuels over long-on for sixes before hitting Brathwaite for two sixes in an over.

Dhoni was caught behind in the last session immediately after hitting Roach for his fifth six.

Laxman, 73 overnight, completed his hundred with an attractive shot, flicking Sammy between mid-on and mid-wicket for a four.

The West Indies relied on fast bowlers Fidel Edwards and Roach in the morning in a bid to put pressure on India, but the duo went wicketless with the second new ball.

The tourists' lone success in the morning session came when Sammy trapped Yuvraj Singh leg-before for 25 after the batsman had added 50 for the sixth wicket with Laxman.

Yuvraj, trying to cement his place in the Test side, did not look comfortable during his brief stay at the crease, tested by Edwards and Roach with short-pitched deliveries.

The left-handed batsman was once struck on the shoulder by an Edwards bouncer before being dismissed by Sammy.

India lead 1-0 in the three-Test series following their five-wicket victory in the opening match in New Delhi.