Kohli, who was looking all at sea against Woakes, finally fell to the right-armer in his third over, with Jos Buttler making no mistake this time at second slip.
England's Alastair Cook (3R) celebrates with teammates after taking the catch to dismiss India's Ajinkya Rahane for 18 on the second day of the second Test cricket match between England and India at Lord's Cricket Ground in London on 10 August 2018.
Brief Scores: India 107 (Ravichandran Ashwin 29, Virat Kohli 23; James Anderson 5/20) vs England.
The wicket was a turning point to an already disastrous start to the second test for Indian cricket team as the skipper had previously put in a stunning display at Edgbaston, scoring 149 and 51 he was the most prized scalp for team India.
India reached 11/2 with Cheteshwar Pujara (1 not out) and Virat Kohli (1 not out) in the middle when rain interrupted play in the seventh over of the day.
Anderson, who had generated movement off the seam as well as an impressive amount through the air, finished off the Indians - and secured his five wicket performance - by removing Ishant Sharma.More news: Bitcoin & Ripple Technical Analysis - Charts Point to Further Losses
More news: Turkey Lira crisis in pictures: Locals sell wealth to save currency
More news: DOOM Eternal Is Coming To Nintendo Switch
"I would be so disappointed if I had messed up today because they were ideal conditions to bowl in".
Early morning overcast skies in north London eventually gave way to gentle but persistent rain which was sufficient to ensure the pitch and square remained fully covered. "When you build pressure all day no matter who you are it is hard", he said.
Left-arm spinner Kuldeep Yadav was brought in for seamer Umesh Yadav, joining Ashwin in the slow bowling department.
Warwickshire favourite Woakes, recalled after England omitted Ben Stokes because of a clash with his fellow pace-bowling all-rounder's trial for affray, had missed the hosts' 31-run win in the first Test at his Edgbaston home ground last week because of fitness concerns following knee and calf injuries.
Batsman Pujara was brought in for Shikhar Dhawan.
England captain Joe Root confirmed on Wednesday that Ollie Pope, a 20-year-old Surrey batsman, would make his Test debut in place of the dropped Dawid Malan.