Exeter City 2 Barnet 1
Neil Saunders opened the scoring for Exeter City with a superb long-range volley before veteran striker Paul Furlong equalised in first-half stoppage time.
There were chances at either end but Gill grabbed a winner with a strike from ten yards. Barnet should have equalised late in the game but Paul Jones superbly saved Michael Leary's penalty.
Barnet had the first opportunity of the game when Albert Adomah picked out John O'Flynn with a fine cross and the striker headed a foot wide from close range.
The Grecians took the lead after 20 minutes when a long clearance by Paul Jones was flicked on by Marcus Stewart and Saunders instinctively struck a 35-yard volley over the head of the goalkeeper and into the back of the net.
Against the run of play Barnet pulled level in first-half stoppage time. O'Flynn slipped a ball through to Furlong and the 40-year-old striker calmly stroked the ball past Jones and into the bottom corner.
After the break Furlong headed narrowly wide and Adomah had a shot saved by Jones as the visitors started brightly.
Exeter began to push forward and second-half substitute Richard Logan's fine header from Steve Tully's cross was blocked by Ran Kadoch's flying save.
Barnet always posed a threat and Jones was forced to turn a shot from Adomah past the post. But it was the Grecians who went ahead with 12 minutes left on the clock.
A deep cross from Saunders was nodded down by Logan and, when the ball broke to Gill, he buried his shot from ten yards.
With time running out, Saunders handled in the box and Jones spread himself superbly to keep out Leary's spot-kick.