Ross Hannah opened the scoring with 66 minutes played as the home side eventually capitalised on a dominant second period.
Substitute Liam Hearn added a second with nine minutes remaining and although David Stephens volleyed home one of the goals of the season the Mariners held on for the points.
The Bees made two changes to the side who drew 2-2 with Cambridge United with Ahmed Abdulla coming in for Anthony Acheampong and George Sykes replacing Harry Crawford for his first Barnet start.
The Bees were far superior in the opening stages with Sykes leading the line comfortably despite his youth.
Their first two opportunities came from free-kicks but James McKeown denied Luisma Villa and Davids’ effort was easily cleared.
Lenell John-Lewis did cause the Bees a minor scare in the opening ten minutes when the ball dropped to the powerful forward and he blazed over from eight-yards.
Grimsby had very little possession compared to the Bees who played slick, one-touch football that continued to heap pressure on their opponents who opted for a more direct style of play.
With 15 minutes on the clock the Mariners’ direct approach almost paid off when Hannah broke through and finished well but just before he pulled the trigger the referee blew up for offside.
Four minutes later Sykes’ superb hold-up play allowed Davids to find Elliot Johnson who burst down the left before forcing McKeown into a low save.
Grimsby may have won a penalty just moments later when John-Lewis’ low shot appeared to hit the hand of Davids but the Dutchman was within inches of his opponent the referee correctly waved play on.
22 minutes in Keiron Cadogan’s neat through ball almost allowed Sykes a route to goal but the youngster was dragged to the floor just outside the box by Aswad Thomas who incredibly escaped a booking.
Seconds later, after Cadogan’s free-kick was comfortably saved, Jack Saville was cautioned after the ball hit his hand in fairly innocuous circumstances.
John-Lewis saw a second penalty shout waved away by the referee midway through the first-half when he broke through and went down under pressure from Stack.
After an action-packed opening 26 minutes little happened for the remainder of the first-half which ended Grimsby Town 0-0 Barnet.
Grimsby came flying out of the blocks in the second period penning the Bees into their own half for the opening ten minutes.
Thankfully the home side failed to make it count but on 57 minutes they should have when John-Lewis found Patrick McLaughlin at the back post and he fired into the side netting under no pressure at all.
Despite warning after warning the Bees continued to struggle and with 66 minutes played the home side took the lead when Hannah curled the ball past Stack from the edge of the box.
With 22 minutes remaining Jon Nurse replaced Sykes, who impressed throughout, and he had an immediate impact crossing to Cadogan who headed just wide.
11 minutes later it was seemingly game over at Blundell Park when substitute Hearn was picked out in the box and he fired low into the corner to make it 2-0.
However the Bees went straight up the other end and the ball looped up to centre-back Stephens who juggled the ball before volleying into the top corner for one of the goals of the season.
The Bees continued to push for an equaliser but the Mariners held on to claim three points.
Barnet: Stack; Yiadom, Stephens, Saville, Johnson; Davids, Abdulla, Weston; Cadgogan, Villa; Sykes (Nurse 68).
Subs not used: Jupp, Gambin, Byrne, Fletcher.
Grimsby Town: McKeown, Hatton, Thomas, Kerr, Pearson, Disley, McDonald, John-Lewis (Cook), Hannah (Hearn), Rodman, McLaughlin.
Subs not used: Colbeck, Neilson, Bignot.
Goals: Hannah 66
Attendance: 3,441 (67 away)