The all-rounder was the star of day three alongside Jonny Bairstow, with the duo's sixth-wicket stand of 189 making up a large chunk of England's 250-run lead over the tourists.
Having bowled India all out for 107 on day two, England took time to get going with Alastair Cook (21), Keaton Jennings (11), Joe Root (19) and Ollie Pope (28) all struggling to make significant scores.
Indeed, England looked in a spot of bother themselves at 131-5, but Bairstow steadied the ship and was eventually caught just seven runs shy of his own century.
Woakes batted on until bad light stopped play, though, with his 120 runs including 18 fours and coming from only 159 deliveries.
Sam Curran (22*) will resume at the crease alongside Woakes on day three as England look to further drive home their advantage, having ended the day on 357-6.