The all-rounder was twice dropped by wicketkeeper Wriddhiman Saha on the way to 128 as England racked up 537.
Moeen Ali moved from 99 overnight to 117, while Stokes shared 99 with Jonny Bairstow, who made 46.
On a true surface, India reached 63-0 by the close, 474 behind, with Gautam Gambhir on 28 and Murali Vijay 25.
India’s comfortable progress in the evening session highlighted the size of England’s task if they are to take the 20 wickets required to end the hosts’ run of 12 wins and two draws in their past 14 home Tests.
However, England’s batting effort has them in control and wickets early on day three would put the world number ones under severe pressure.
“There is no shame in saying that at the end of the day, nothing happened. India played nicely, steadily. You can’t blame anybody – the pitch is good,” said former England batsman Geoffrey Boycott on BBC Test Match Special.
“Tomorrow might be different. Somebody might play down the wrong line, nick it and there’s a clatter of wickets. There’s nothing really there where you could say England bowled poorly – they haven’t.”