At the break, Bairstow was unbeaten on 62, while Woakes was batting on 55 not out as they gained a firm footing in this match and built a 123-run lead for England.
Post lunch, Bairstow and Jos Buttler (24) took their fifth-wicket partnership to 42 runs. England crossed 100 in the 27th over, even as Mohammed Shami (3-67) and Ishant Sharma (1-66) bowled brilliant spells at the Lord's.
Both batsmen played and missed a lot, with Bairstow in particular searching for timing as he played quite a few inside-edges that missed his stumps.
But Bairstow-Woakes defied them as the visitors severely missed a third full-time pacer to back up Shami and Sharma. Hardik Pandya (1-38) tried but couldn't assert himself on the proceedings while Kuldeep Yadav (0-28) was taken for easy runs.
In doing so, Bairstow brought up his 19th Test half-century off 76 balls. Soon afterwards, Woakes did the same, and reached his fifth Test half-century off 71 balls.
England crossed 200 in the 49th over even as R Ashwin (0-23) failed to provide any breakthrough. Surprisingly, the ace off-spinner, who had a very impressive first Test, was not given enough overs.
Once the lead crossed 100, Indian fielders' shoulders dropped and they played for the tea break.
Earlier, India put in a hard grind as England were reduced to 89 for four at lunch.
Conditions changed drastically as the sun came out with not a hint of rain around. Moisture, both in the air and on the surface, dried up quickly as batting seemed a lot easier.
Even so, the ball continued to do something as Sharma and Shami began proceedings for the day. They took a couple overs to find the proper line and length to bowl at the two left-handed opening batsmen.
Shami troubled the batsmen more in the opening spell, with Sharma finding more impact as he changed lines to come around the wicket. The breakthrough came in the eighth over as Shami trapped Keaton Jennings (11) lbw, with England losing a pointless review.
It became a double blow as five balls later Alastair Cook (21) was caught behind off Sharma and the hosts were reduced to 32 for two.
Joe Root (19) and 20-year-old debutant Olliver Pope (28) then added 45 runs for the third wicket. Some shoddy bowling from Yadav and an ordinary first spell from Pandya helped the batting duo, as the score crossed 50 in the 14th over.
He then went on to trap Pope lbw in the 22nd over, as England lost their second review as well.
The big blow of the morning came at the stroke of lunch as Shami returned to pick up Root, trapping him lbw. There were no reviews left, but England's most important batsman was out plumb anyway as India roared back into contention.
India were bowled out for 107 runs in their first innings.
England lead the five-match series 1-0 after winning the first Test in Birmingham by 31 runs.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)