Luton Town 2 Grimsby Town 1
The Mariners had gone ahead just before half-time through Ryan Bennett only for Mark Bower to level in first-half stoppage time.
A scrappy second period saw the visitors frustrate the hosts for long periods until Hall popped up with his tenth of the season to keep alive Luton's faint hopes of beating the drop.
Grimsby should have taken the lead after just 50 seconds when Jean Louis Akpa Akpro clipped on Robert Atkinson's pass from defence to release Adrian Forbes, but the former Luton man dallied allowing Lewis Emanuel to produce a saving tackle.
Luton soon got a grip of possession but were restricted to long-range efforts with Kevin Gallen twice firing wide from the edge of the area in the space of 60 seconds and Rossi Jarvis then dragging a left-footed effort wide from 20 yards in the 27th minute.
Keith Keane prodded a 15-yard effort wide in the 35th minute after a Gallen cross from the right had only been half-cleared, but as Luton grew more desperate in their efforts, the Mariners gradually forced themselves back into the game.
In the 41st minute Bennett just failed to get on the end of a curling Nick Hegarty free-kick and the Hatters didn't heed the warning as two minutes later Grimsby took the lead from the exact same scenario.
Bower was booked for crunching into Jean-Louis Akpa Akpro and from Hegarty's resulting lofted free-kick from the left, Bennett was left alone to loop a header into the top corner from 15 yards out.
Three minutes into stoppage time the hosts were level as Jarvis fed Tom Craddock to cross from the left over goalkeeper Wayne Henderson and Bower's diving header was adjudged to have crossed the line despite Joe Widdowson's attempts to clear.
Grimsby forced the pace at the start of the second half with Akpro hitting a 25-yard effort at Brill three minutes in and then heading over from Hegarty's cross two minutes later.
After that it was all Luton, but the hosts again struggled to create clear openings with the best chance falling to Craddock, who could only curl over, left-footed from 16 yards in the 78th minute.
Time looked to be running out for the Hatters, but with just a minute remaining Michael Spillane's cross from the right fell perfectly for substitute Hall to take a touch before volleying low past Henderson from eight yards.