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.
Woakes breezed past his previous Test-best score of 66 and eventually overtook Bairstow.
With the forecast set fair for Saturday, it will be the turn of England's batsmen to drive home the advantage given to them by their bowlers on a day where there were two stoppages for rain spanning more than five hours.
Their unbroken sixth-wicket stand was so far worth 99 runs and all the more valuable for the fact that England had slumped to 89 for four on the stroke of lunch.
India were struggling on 15 for three when heavy rain disrupted play for the third time on Friday after the entire first day of the test was lost to the wet weather.
India, following Thursday's total washout, had batted under overcast skies and on a green-tinged pitch in an innings that lasted a mere 35.2 overs. But England " s batting has often proved fallible recently.
Even as the bowlers gave India early breakthroughs with Mohammed Shami being the pick of the lot, Bairstow and Woakes stitched together a huge partnership to peg India back again.
Kohli and his batting troops once again faltered as India were bowled out for just 107 runs.
However, Bairstow and Woakes blunted the Indian attack initially to get through Shami and Ishant Sharma's testing spell.
England debutant Ollie Pope kept his composure, however, the 20-year-old Surrey batsman sprinting in from point to remove the bails rather than shying at the stumps.
Bairstow received sound support from the correct Woakes, selected after fellow all-rounder Ben Stokes was omitted because of clash with his ongoing trial for affray.
It was a similar story with Pandya, Woakes putting the disappointment of a dropped catch aside to strike with his very next ball.
India had recalled left-arm wrist-spinner Kuldeep Yadav, who tormented England during the preceding one-day series, for just his third Test after dropping paceman Umesh Yadav, who bowled well at Edgbaston.