McCartan, who has now scored seven goals in his last 10 games - five from free-kicks - fired home from 20 yards in the 89th minute to extend Stanley's unbeaten run to 10 games.
Grimsby had looked on course for victory thanks to substitute Akwasi Asante's first league goal.
Asante, who scored 12 goals for Solihull Moors before signing for the Mariners in January, made space for himself on the right of the penalty area before firing the ball home in the 70th minute.
Stanley had hit the woodwork twice prior to that with Hull loan defender Harvey Rodgers firing a long-range effort against a post and Matty Pearson rattling the crossbar with a long-range strike.
Dutchman Asante, a 57th-minute replacement for Scott Vernon, almost claimed a winner in the second minute of added time when he was denied by a superb save from Aaron Chapman.
Match support supplied by the Press Association.
Match ends, Accrington Stanley 1, Grimsby Town 1.
Second Half ends, Accrington Stanley 1, Grimsby Town 1.
Attempt missed. Jonathan Edwards (Accrington Stanley) left footed shot from the centre of the box is too high.
Corner,  Accrington Stanley. Conceded by James McKeown.
Attempt saved. Sean McConville (Accrington Stanley) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt saved. Akwasi Asante (Grimsby Town) right footed shot from the centre of the box is saved in the bottom right corner.
Attempt missed. Akwasi Asante (Grimsby Town) right footed shot from the right side of the box misses to the left.
Attempt missed. Matty Pearson (Accrington Stanley) right footed shot from outside the box is high and wide to the left.
Attempt saved. Akwasi Asante (Grimsby Town) right footed shot from the centre of the box is saved in the bottom left corner.
Hand ball by Jordan Clark (Accrington Stanley).
Goal!  Accrington Stanley 1, Grimsby Town 1. Shay McCartan (Accrington Stanley) from a free kick with a right footed shot to the top left corner.
Sean McConville (Accrington Stanley) wins a free kick in the attacking half.
Foul by Zak Mills (Grimsby Town).
Corner,  Accrington Stanley. Conceded by Zak Mills.
Substitution, Grimsby Town. Shaun Pearson replaces Gavin Gunning.
Gavin Gunning (Grimsby Town) is shown the yellow card.
Shay McCartan (Accrington Stanley) wins a free kick in the defensive half.
Foul by Chris Clements (Grimsby Town).
Foul by Jonathan Edwards (Accrington Stanley).
Zak Mills (Grimsby Town) wins a free kick in the attacking half.
Delay in match James McKeown (Grimsby Town) because of an injury.
Corner,  Accrington Stanley. Conceded by Danny Andrew.
Attempt blocked. Jonathan Edwards (Accrington Stanley) right footed shot from the right side of the box is blocked.
Attempt missed. Matty Pearson (Accrington Stanley) header from the centre of the box is just a bit too high.
Corner,  Accrington Stanley. Conceded by Danny Andrew.
Substitution, Accrington Stanley. Jonathan Edwards replaces Janoi Donacien.
Attempt missed. Jordan Clark (Accrington Stanley) right footed shot from outside the box is high and wide to the right.
Attempt blocked. Shay McCartan (Accrington Stanley) right footed shot from outside the box is blocked.
Substitution, Grimsby Town. Tom Bolarinwa replaces Jamey Osborne.
Foul by Gavin Gunning (Grimsby Town).
Billy Kee (Accrington Stanley) wins a free kick in the defensive half.
Billy Kee (Accrington Stanley) wins a free kick in the defensive half.
Foul by Gavin Gunning (Grimsby Town).
Goal!  Accrington Stanley 0, Grimsby Town 1. Akwasi Asante (Grimsby Town) left footed shot from outside the box to the bottom right corner. Assisted by Jamey Osborne.
Matty Pearson (Accrington Stanley) wins a free kick in the attacking half.
Foul by Jamey Osborne (Grimsby Town).
Foul by Noor Husin (Accrington Stanley).
Chris Clements (Grimsby Town) wins a free kick in the attacking half.
Foul by Dominic Vose (Grimsby Town).
Matty Pearson (Accrington Stanley) wins a free kick in the attacking half.
In-form Shay McCartan rescued a point for Accrington with a late free-kick in the draw with fellow mid-table side Grimsby.