England spinner Monty Panesar marked his recall with four wickets but Cheteshwar Pujara's century kept India afloat on the opening day of the second Test in Mumbai.
Panesar (4-91), overlooked for England's nine-wicket defeat in the series opener, removed Virender Sehwag, Sachin Tendulkar, Virat Kohli and Mahendra Singh Dhoni to leave India in trouble on 169-6 shortly after tea.
But Pujara, fresh from his double hundred in the first Test, continued his fine form to finish the day on 114.
He received good support from Ravichandran Ashwin (60no) during an unbroken seventh-wicket stand of 97 that left India on 266-6 and honours even at the close.
James Anderson had got England, who had been put into the field after losing the toss, off to a flying start when he trapped Gautam Gambhir leg before with just the second ball of the match.
Sehwag, playing in his 100th Test, and Pujara attempted to turn the innings around but their 48-run stand was brought to an end by Panesar. Back in the side after being overlooked for the first Test loss, Panesar struck when a full delivery bowled Sehwag for 30.
And Panesar was celebrating in his next over, with Tendulkar heading back to the pavilion. This time the left-arm spinner got a ripping delivery to turn past the outside edge and into the stumps.
Pujara and Kohli put on a half-century stand for the fourth wicket to hamper England's progress until Panesar struck again. Nick Compton took a good diving catch at cover to remove Kohli for 19 and Yuvraj Singh followed without troubling the scorers, Swann getting one to slide past the edge and cannon into off-stump.
Dhoni joined Pujara through to tea but Panesar found some extra bounce in the second over of the evening session and India's captain edged low to Swann at slip to depart for 29.
But England did not make any further breakthroughs and, by the close, Pujara had faced 279 deliveries and struck 10 fours, while Ashwin's 84-ball knock featured nine fours.
The tourists had made two changes to the team beaten in Ahmedabad, Panesar coming in for seam bowler Tim Bresnan and Jonathan Bairstow replacing Ian Bell, who is on paternity leave.
India brought in a third spinner, veteran Harbhajan Singh, in place of injured seamer Umesh Yadav in the only alteration to their starting XI.