The pair put on 94 runs for the second wicket after the hosts lost Gautam Gambhir.
The pair put on 94 runs for the second wicket after the hosts lost opener Gautam Gambhir in the second over of the day at the Saurashtra Cricket Association ground in Rajkot.
The Indians now trail by 375 runs with nine wickets in hand after England posted 537 in their first innings, their third biggest total in the country.
England's bowlers struggled on a track that still looked good for stroke-making, with all-rounder Ben Stokes giving away 28 runs from his four overs.
Pujara, batting on 62, looked in fine touch, having hit 12 fours in his 86-ball innings.
Vijay's 57-run knock contained two sixes and five boundaries.
India brought up their hundred in style with Vijay despatching rookie spinner Zafar Ansari over the long-on boundary for a huge six.
Chris Woakes, who bowled a couple of nasty bouncers to Pujara, was the pick of the bowlers as he stuck to a neat line and length.
India started on a shaky note, losing overnight opener Gambhir (29) to Stuart Broad (1-31) who struck off his first ball of the day.
The ball hit his pad in front of the middle and off stump and the decision was upheld after Gambhir referred it to the third umpire.
Before the start of play, England players and the support staff observed a minute's silence as a mark of respect to the war dead on Armistice Day.
The players also wore shirts with the poppy symbol on the right collar.