Alastair Cook was named Man of the Match for his first-innings 190. This is a file picture due to the BCCI refusing to allow certain picture agencies access to the ground. The Guardian, along with other media groups, is not publishing live pictures. Photograph: Daniel Munoz/Reuters

England overcame a wobble to complete a seven-wicket win over India at Eden Gardens this morning and take a 2-1 lead with one Test to play.

Ravichandran Ashwin (91 not out) remained undefeated after his valiant resistance on Saturday night, but on the final day it took James Anderson only four balls to see off No11 Pragyan Ojha as India were bowled out for 247 in their second innings.

England were left needing only 41 for a thoroughly deserved victory, yet they stumbled to eight for three against the spin of Ashwin and Ojha before they got over the line.

Ian Bell and Nick Compton settled the nerves and the issue, and England can therefore no longer lose this series.

For India, it was a first defeat since the last millennium at this famous venue, and England will become the first tourists since Australia in 2004 to win a Test series here if they can at least draw the last match in Nagpur.

After dominating the first three days thanks to the Man of the Match Alastair Cook's batting and the bowling of Anderson and Monty Panesar, they endured a chastening first session on Saturday but then took six wickets for only 36 runs in the afternoon.

Only Ashwin delayed them, as 88 runs were added for the last two wickets and prevented England finishing the game inside four days.

But in the second over, Anderson snaked one into left-hander Ojha from round the wicket and – while he was appealing for caught behind – belatedly noticed he had in fact dislodged the off bail to end a last-wicket stand of exactly 50.

Ashwin had been denied a second Test century, but got his own back when Cook came down the wicket to him in the first over of England's mini-chase and was stumped for only the second time in his first-class career.

When Jonathan Trott was then lbw pushing forward to Ojha, and Kevin Pietersen edged Ashwin behind in defence for a five-ball duck, the unthinkable seemed briefly and horribly possible. But the previously out-of-form Bell, in particular, had other ideas.

"It was a great performance level for four and a half days," said Cook after the game. "Everyone performed from one to 11 and that's what you need in these conditions.

"Our bowlers, on the first day, to keep India to 300 on that wicket was a fantastic effort.

"And after the start they got [in the second innings] to get six wickets in that session yesterday really won us the game. It was a credit to the hard work they've put in that they can perform in these conditions."

England's success was built on Cook's outstanding 190 in the first innings. "I've been hitting the ball all right on this tour," he said. "It's nice to contribute to the team's success. To score runs here you've got to bat a long period of time. I had a bit of luck and I managed to cash in."

And he vowed England would keep up the intensity at Nagpur where England will look to close out a rare series win on the subcontinent.

"We'll never be complacent," he said. "We're not going to Nagpur to make up the numbers – we're going to try and win a Test match, which we know we can do."

India captain Mahendra Singh Dhoni cited Saturday's "landslide" of wickets as the reason his side lost the match.

"In the second innings, we started losing wickets and it was like a landslide we couldn't stop," he said. "That's where we lost the game.

"We got off to a very good start, we were batting really well but we started losing wickets and nobody was able to soak up the pressure."

Dhoni challenged his players to bounce back. "We have been in situations like this," he said. "Everybody needs to pull up their socks, give their best, back each other and enjoy the game because it is difficult but that's where you show your character."