Vijay (59) and Mahendra Singh Dhoni (12) will resume on Sunday with India 145 runs ahead with six second-innings wickets left as they aim to extend England's run without a test victory to 10 matches and go 1-0 up in the series.
Having taken a 24-run lead, England bowled with greater accuracy than in India's first innings, when they wasted their advantage on a green-tinged pitch that is now showing a touch of variable bounce.
After getting rid of Shikhar Dhawan before tea, England's four-strong seam attack had shown signs of tiredness on a warm London afternoon, having bowled a combined 222 overs on a dead pitch in the drawn first test at Trent Bridge.
That surface was so poor it has since been reported to the International Cricket Council (ICC) by match referee David Boon.
Just as Vijay and Cheteshwar Pujara started to look set, however, a double strike by Liam Plunkett injected some much-needed life into the England side.
First he had Pujara (43) feather an edge through to Matt Prior, before moving the next ball in off the pitch, hitting Virat Kohli's stumps with the batsman not playing a shot.
Next to go was first-innings centurion Ajinkya Rahane, given out caught by Prior off Stuart Broad on five despite the ball hitting his arm-guard, the third wicket to fall in the space of five runs.
While Vijay continued to look steady at one end, captain Dhoni rode his luck, surviving two lbw shouts from Plunkett in one over as he insisted on playing as few balls as possible.
Vijay passed 50 off 162 balls, while Dhoni knuckled down to offer the opener valuable support as India aim for a lead of at least 300.
"Overall I think it's evenly balanced, but what we need to do is really bat well tomorrow and we need somewhere near 300 runs on the board and then get them out," Pujara told reporters.
"The wicket has started deteriorating a bit, we have seen variable bounce on the wicket, so we are very confident we can get them out.
"First thing is, bat well tomorrow."
Earlier Plunkett's maiden test half-century helped England add 100 runs to their overnight total, their first innings eventually ending on 319.
After Gary Ballance's second test century on Friday, nightwatchman Plunkett provided the main resistance, reaching his half-century off 75 balls on his way to an unbeaten 55.
India's Bhuvneshwar Kumar claimed career-best bowling figures of 6-82.
"I take pride in my batting, I love to bat, I started in the juniors as a batsman mainly," Plunkett said.
"I still work hard on it, it's always nice to get a test 50 and obviously runs at the end have been crucial, as Jimmy (Anderson) showed last game, so to get a partnership at the end past their score was a good feeling."
He acknowledged the importance of his double breakthrough midway through the final session, just as India looked to be gaining the upper hand.
"I felt in good rhythm, obviously I got my lengths wrong first innings. It started to swing and it was good to get them two wickets in two balls," he said.
- Sports & Recreation
- Liam Plunkett
- Mahendra Singh Dhoni
- Cheteshwar Pujara