England struggled and scraped to a first innings total of 400 all out before India moved to 146 for the loss of Lokesh Rahul on day two of the fourth Test in Mumbai.
Jos Buttler scored his second highest Test score to help England to a decent first innings effort having lost Ben Stokes early on day two.
Stokes (31) became Ravi Ashwin's fifth victim with the spinner moving his tally of five fors to an incredible 23.
Woakes (11) and Rashid (4) could do little to aid England's push to 400 but Jake Ball provided valuable runs as he proved his handiness with the willow.
Ball struck four fours in his knock of 31 and shared a 54 run partnership with Buttler that took England to the brink of the hallowed 400 mark.
After Ball's departure Buttler (76) kicked on, not feeling James Anderson would last long but it would be his wicket that would wrap up the innings with Ravindra Jadeja bowling him through the gate just after England reached 400.
The Indian openers put on 39 before Rahul got a peach from Moeen Ali but thereafter England struggled to control the game with Cheteshwar Pujara and Murali Vijay picking the England bowlers apart.
India alternated between defence and attack and would score at just under three an over but importantly navigated to the close with just one wicket down.
Vijay moved to 70 while Pujara was just three short of fifty at stumps.