An early Barnet corner failed to cause any problems in front of goal, before another forward move from the hosts ended when midfielder Curtis Weston was penalised for a foul on Pearson.
A cross from winger Lee Cook soon afterwards was claimed by McKeown after Gash had gone on a run through the middle.
The best chance of the game so far went the way of the Mariners on 13 minutes but Arnold missed the target at the near post.
A ball from Disley soon afterwards was headed on by John-Lewis but it was cleared from danger.
A foul by Pearson on Gash gave the home side a free kick right of centre on 16 minutes. Villa took it but his shot caused McKeown no problems as it went high and wide.
Another free kick came for a foul by Clay on the edge of his own box five minutes later after Gash had missed his kick. Clay was booked before Villa’s shot hit the Town wall and Jolley then blocked the follow-up delivery.
The Mariners went ahead on 27 minutes, when Mackreth got to the ball ahead of Johnson on the right and crossed for JOLLEY, who was unmarked and had the relatively simple task of slotting past Stack.
Town were on top now and they immediately went in search of a second goal, winning a corner that led to Pearson missing with a header.
A John-Lewis shot was deflected away from goal as the visitors continued to dominate, although Barnet did have a shot on target through Weston, with McKeown making the save.
Former Scunthorpe midfielder Sam Togwell, who had gone down injured in the incident which saw Clay booked, was replaced just after the half-hour by Conor Clifford.
Town were still creating the better chances and John-Lewis and Mackreth linked up on 35 minutes, leading to an opportunity which Arnold put over the bar.
A cross from Jolley was touched away from immediate danger on 39 minutes but the Mariners kept possession and the move eventually ended when a shot by Magnay went over the bar.
John-Lewis tried a long-range shot two minutes before the break that Stack got to before the ball was cleared.
Town won a corner soon afterwards but Arnold’s ball was headed away and Barnet broke through MacDonald, although the move came to nothing as the ball ended up with McKeown after Magnay had closed Cook down.
Two added minutes were played at the end of the first half and Town attacked again in the first of them, although Pearson and Robertson seemed to get in each other’s way for a header and the ball went out for a goal kick.
Disley volleyed a ball forward for Jolley to chase as the away side ended the half strongly but Stack won the race with the Town striker and stretched up to catch the ball.
That proved to be the last noteworthy action of a half which had been dominated by Grimsby, with the table-toppers showing very little attacking threat and the Mariners holding their one-goal lead at the interval.
No changes were made before the restart and an early booking came for the hosts, when Clifford was shown the yellow card for a foul on Clay.
Neither side had put their stamp on the second half with ten minutes of it played, as a Barnet cross dealt with by Mackreth and a shot from MacDonald that went over the bar the only talking points so far.
But that changed on 56 minutes, when the hosts levelled the scores. Nsiala lost possession and the hosts took advantage, with substitute CLIFFORD beating McKeown, who had got a hand to the ball but could not prevent it going into the top corner.
A Barnet corner was flicked on and eventually put out for a throw-in, before a ball from Jolley towards John-Lewis at the other end proved too strong. Town kept possession though and won a corner, which went through a crowded penalty area and was brought away by Cook.
An Arnold cross was headed away by defender Dave Stephens and the hosts looked to quickly turn defence into attack but the ball ran through to McKeown.
Arnold won a corner on 65 minutes but it was headed clear and again, the ball ended up back with McKeown in the Town goal.
Jolley went down with a head injury three minutes later but was passed fit to play on and the striker was involved in the right area soon afterwards but could not profit from a Mackreth cross.
Pittman replaced Jolley as Town made their first substitution, while Luke Gambin came on in place of Cook for the hosts at the same time.
Villa had a shot for Barnet after getting to the ball ahead of Clay and although McKeown got to it, he could not prevent it going out for a corner, which was punched clear by the keeper.
Town could have regained their lead when Pittman and Arnold combined with a one-two on the edge of the Barnet box but the winger could not take advantage, as he fired wide.
Stephens was replaced by Jack Saville as Barnet boss Martin Allen made his final substitution with 11 minutes to go.
The hosts were doing most of the attacking and were looking to complete a turnaround from 1-0 down, although the Mariners were also still looking to win it.
Town created an opportunity when a run and cross by Pittman led to John-Lewis heading towards goal but Stack got to the ball to keep it out.
Arnold then escaped an offside decision but looped his cross too far and saw it go out for a throw-in.
Clay was the next to have a half-chance, getting onto John-Lewis’ flick-on but Stack was out quickly to keep the midfielder out.
Town were now on top and they won a free kick when Gambin fouled Magnay but the Mariners were unable to create anything from it.
A free kick at the other end for a foul by Robertson – who was booked – did cause problems though, with Luisma shooting but McKeown getting to the ball to stop it going into his top corner and ensuring the only damage was a corner.
A cross from Johnson was punched away by McKeown before Magnay did well to win a throw.
John-Lewis was fouled in the last minute to give Town a free kick and it eventually led to what looked like being the winning goal. The ball was played short for Mackreth and after Clay had put the ball into the box, Arnold touched it on and DISLEY got a boot to it to send the ball past Stack and the near-1,000 travelling Mariners fans into raptures.
Disley was booked for his celebration as inflatables rained down on the pitch from the away supporters.
And incredibly, there was still time for a third Mariners goal, when a shot from John-Lewis two minutes into added time was parried by Stack and PITTMAN was there to apply the finish and secure the points.
The result meant Town reduced the gap to Barnet to nine points and ensured they remained fourth in the table, ahead of home games against bottom side AFC Telford United on Tuesday and Braintree Town on Saturday.