Ali and Stokes' efforts followed Joe Root's 124, which laid the foundation for the visitors' big total on the first day.
Ali struck 117 and Stokes top-scored with 128 against a listless Indian bowling attack that was plundered for a whopping 139 runs in 30 overs in the pre-lunch period.
Stokes, who struck 2 sixes and 13 fours in his 235-ball knock, departed just before the scheduled tea interval and England lost their last wicket, of Zafar Ansari, for 32 during the extended second session. This was England's third-best innings total in India.
Indian bowlers appeared clueless against the left-handed Stokes, who was constantly on the lookout for runs, till he was finally out to a diving catch by wicketkeeper Wriddhiman Saha off Umesh Yadav.
Also Read
Saha had earlier put down Stokes in successive overs off Yadav in his second spell, when the batsman was on 60 and 61 respectively.
India had let off rival captain Alastair Cook, debutant Haseeb Hameed and Ali yesterday and the tale of dropped catches continued on the second morning.
The local boy struck in the very first over after resumption when he had Chris Woakes poking at a wide ball.
Jadeja got into his wicket-taking act again, sending back Adil Rashid who was caught at mid-on by Yadav, to leave England at 465/8.
However, New Zealand-born Stokes not only completed his century but also added 62 runs for the ninth wicket with Ansari to take the score past 500.
Jadeja emerged the most impressive bowler with figures of 3/86, while premier spinner Ravichandran Ashwin was the most expensive and gave away 167 runs for his two wickets after bowling a marathon 46 overs.
Speedsters Mohammed Shami (2/65) and Yadav (2/112) got among the wickets.
(REOPENS DEL 45)
Batsmen getting out before lunch were Ali, unbeaten on 99 overnight, and Jonny Bairstow, who made a quick 46 off 57 balls. Both wickets were claimed by pace bowlers - Shami and Yadav.
Wicketkeeper Bairstow chased a wide ball from Yadav and was caught behind after Saha had grassed two catches off Stokes in successive overs from the same bowler.
Right-handed Ali started with a flurry of fours this morning, three of those coming in one over from the wayward Yadav.
Ali, the second century maker in the innings after no. 3 batsman Root yesterday, batted for over four and a half hours and struck 13 fours.
India's bowling woes continued with Bairstow joining all- rounder Stokes as the two attacked the home bowlers - especially spinners Ashwin and Mishra - with gusto.
Stokes and Bairstow put on a brisk stand of 99 for the sixth wicket in 80 minutes and 127 balls against some mediocre bowling performance before the latter got out chasing a wide ball.
Ashwin could not add to his tally of two taken on the first day while Mishra, under-bowled by his captain Virat Kohli yesterday, was given a long spell but looked innocuous and was smacked for a straight six by Bairstow.
England added 60 runs in the first hour and another 79 in the second before the interval, reaching 400 in 113 overs and 442 minutes of batting.