Kevin Pietersen smashed a brilliant 186 and Monty Panesar took five wickets to leave England on the verge of victory over India in the second Test.
Pietersen took the hosts apart as he and Alastair Cook (122) hit England's record-equalling 22nd Test hundreds.
The tourists were dismissed for 413 in Mumbai, a first-innings lead of 86.
Panesar then tore through the India batting and, with Graeme Swann claiming two wickets, the hosts slumped to 117-7 at the close, only 31 ahead.
Both Panesar and Swann, who have consistently looked more threatening than India's trio of slow bowlers, took full advantage of increasingly helpful conditions to leave England closing in on a win that looked unlikely after the hosts won the toss and posted 266-6 on day one
Opening the bowling, Panesar turned one enough to have Virender Sehwag caught at gully, before Swann had the previously immovable Cheteshwar Pujara held at short leg.
Fizzing the ball at pace from around the wicket, Panesar enticed Sachin Tendulkar to play across the line to be trapped lbw, and Virat Kohli gifted a catch to mid-off from a Swann full toss.
Only Gautam Gambhir stood firm for an unbeaten 53 as Panesar, who was left out of the first Test defeat in Ahmedabad, continued to torment India on the way to his second 10-wicket haul in Tests.
The left-armer cleverly adjusted his length to have the advancing Yuvraj Singh caught at short leg, spun one enough to entice Mahendra Singh Dhoni into edging to slip, then saw Ravichandran Ashwin sky to cover.
The 12 wickets that tumbled for 148 runs across two innings from when Pietersen fell to Pragyan Ojha midway through the afternoon only served to emphasise the contributions made by England's captains past and present.
While those batsmen who have managed to deal with the threat of spin early in their innings have found run-scoring increasingly easy - of the five men to pass 30 in the match, three have gone on to make hundreds - Pietersen seemed to be toying with the India attack at times.
Transformed from the man that was twice bowled by Ojha in ugly fashion during the first Test, he swept, drove and powered his way to a first hundred since returning to the side following the text message saga that saw him dropped at the end of the summer.
With England resuming on 178-2, Cook moved on from his overnight 87 to a second Test century of the tour by driving Harbhajan Singh wide of mid-off for four.
As well as drawing the left-hander level with Walter Hammond, Colin Cowdrey and Geoffrey Boycott on 22 Test tons, it was his fourth in as many matches as captain.
Soon after, Pietersen reverse-swept Harbhajan to move to three figures and, such was the progress of the third-wicket pair, it came as a surprise when Cook edged Ashwin behind to end the stand of 206.
England also lost Jonny Bairstow before lunch, controversially caught at silly point when the ball appeared to hit Gambhir's helmet, but that did not prevent Pietersen playing some dazzling strokes after the interval.
The right-hander had already despatched Ashwin for six over long-on in the morning session and sent Ojha for three maximums in the afternoon, two with slog sweeps, another a remarkable short-arm jab over extra cover.
The left-armer had resorted to bowling over the wicket to contain Pietersen but, after finding sharp spin to have Samit Patel caught at slip, eventually removed England's dangerman, caught behind by another that turned.
Pietersen's dismissal was the beginning of the end for England, as their last five wickets fell for only 31 runs. Matt Prior was run out, sent back by Stuart Broad when attempting a single that was not on, with the tail then crumbling to India's spinners.