England took seven wickets in the space of just 16 overs after lunch on the final day to claim its first Test win in India for 21 years, the tourists winning by 212 runs.
India, starting the day on 18-1 and needing a further 313 for the win, struggled against the England bowling attack from the outset.
The home side slumped to 75-3 in reply to England's second innings total of 191 before capitulating to be all out for 100.
Shaun Udal and Andrew Flintoff were the pick of the visitors' bowlers with 4-14 and 3-14 respectively.
Sachin Tendulkar made his best score of the series, and the best of India's second innings, with 34 before Udal had him caught at short leg by Ian Bell.
India appeared moderately comfortable in the opening stages of the day's play but when Flintoff sent Rahul Dravid back to the pavillion the match was all but decided.
The England team overcame a spate of injuries to level the Test series after India took the first match.
The side travelled without first-choice spinner Ashley Giles and then lost captain Michael Vaughan, Marcus Trescothick and Simon Jones within the first fortnight.
Fast bowler Steve Harmison and opening batsman Alastair Cook then joined the list of casualties ahead of the final showdown in Mumbai.
Skipper Flintoff paid kudos to the impressive effort by his side to win a Test, despite being hampered by numerous injuries.
"To come to India and draw 1-1 with such a formidable side was a great effort for our lads," he told the BBC.