Ben Stokes took three wickets on Saturday, including Virat Kohli's, as England won a fluctuating first Test against India by 31 runs.
Adil Rashid and Jimmy Anderson picked up a wicket apiece as England held their nerve to take a 1-0 lead in the five-Test series.
After starting the day on 100-5, needing another 94 runs for victory, India made the worst possible start when Dinesh Karthik was dismissed in the first over.
Anderson found the edge of Karthik's bat and he was snapped up at second slip for 20 by Dawid Malan, who had dropped three easier chances earlier in the Test.
Kohli and Hardik Pandya then added 29 precious runs for the seventh wicket before Stokes took the key wicket of the India captain who had made 51 when he was trapped lbw.
Stokes handed the initiative to England with the wicket of Mohammed Shami in the same over for a duck, Jonny Bairstow taking his fifth catch of the innings.
Joe Root took a risk by bringing Rashid into the attack but his Yorkshire team-mate responded in the perfect fashion, taking the wicket of Ishant Sharma in his first over. Sharma failed to pick the leg spinner's googly and was given out lbw after a review for 11.
But it was left to Stokes to wrap up the victory when he forced Pandya, who had made 31, to edge the ball to Alastair Cook as the tourists were dismissed for 162.
A delighted Root said after the match: "What a game of cricket, from start to finish. It swung both ways throughout. Credit to India, they played some fantastic cricket along the way.
"I'm so proud of the group. We just wanted to show that fight and desire of the three previous days and we did.
"Sam Curran's knock changed the game. There were other periods in the game beforehand that could have gone our way but to play that innings under pressure was brilliant.
"The bowlers were outstanding as well. Last night India could have got on top and swung it in their favour but none of the bowlers let me down."
The second Test starts at Lord's on Thursday.
View all Cricket betting