The tourists were 140-4 at stumps, still trailing India by 378 runs at Delhi's Arun Jaitley Stadium.
Shai Hope, on 31, and wicketkeeper-batsman Tevin Imlach, on 14, were batting at close of play after left-arm spinner Ravindra Jadeja took three wickets.
Gill led from the front with his unbeaten 129 -- his fifth hundred of the year in eight Tests -- after Yashasvi Jaiswal's departure on 175 in the second over of the second day.
In reply to India's mammoth first-innings 518-5 declared, opener Tagenarine Chanderpaul (34) and Alick Athanaze (41) offered some resistance before departing.
Chanderpaul edged a short-of-a-length ball from Jadeja to slip where KL Rahul caught it after a couple of juggles to end a 66-run second-wicket stand.
Left-arm wrist spinner Kuldeep Yadav sent back Athanaz