Chris Woakes struck in his first over back in England's Test side as they reduced India to 54 for three on the first morning at the Kia Oval.
Woakes, returning to the side for the first time in a year following Covid complications and injury, needed just six deliveries to put his frustrations behind him and get the hosts up and running in the fourth LV= Insurance Test.
He produced a beauty to dismiss India's most in-form batsman, Rohit Sharma, for 11 before Ollie Robinson and James Anderson struck to put England on top.
India captain Virat Kohli survived a tense period before lunch and will resume on 18 not out alongside Ravindra Jadeja, who earned a surprise promotion to number five.
With clouds overhead and a tinge of green under foot at the toss, Joe Root did not hesitate to send the opposition in. With memories still fresh of India's 78 all out on day one at Headingley, who could blame him?
Yet for seven overs the England skipper might have been pondering the wisdom of his decision. There was certainly swing on show but no real menace in the pitch. Anderson's first four overs went for 20 and KL Rahul and Rohit Sharma were playing with care and attention.
Enter Woakes, finally back on the Test stage after 11 matches and 12 months away. He was immediately on point, curving the ball through the air as Rohit groped for a drive that never materialised. With the final delivery of his first over he dragged back his length, got some kick off the surface and found the shoulder of Rohit's bat.
Jonny Bairstow, wearing the gloves again in Jos Buttler's absence, held on as Woakes began his long-awaited celebrations. What followed was an exemplary and extended display of controlled seam bowling, as he and Robinson stitched together a steady stream of dot balls to leave Rahul and Cheteshwar Pujara hemmed in.
In the end they turned in seven consecutive maidens, with the scoreboard in stasis for 42 balls. Robinson cashed the pressure in when he pushed his natural length a fraction fuller and nipped it back into Rahul's front pad. A close lbw call went in the bowler's favour, full and fair reward for a wonderful spell of 8-6-8-1.
Kohli emerged at 28 for two, with Anderson soon rejoining the fray. He was not able to get one over his old rival, despite one near miss that almost saw the skipper drag on while offering no shot, but instead settled for the scalp of Pujara.
With just one scoring shot in 31 balls, it was another unconvincing stay for the veteran, and when Anderson got one to jag off the surface the resulting outside edge was an inevitability. Jadeja came in instead of Ajinkya Rahane and only just managed to reach the interval as Anderson worked up a head of steam.