George Miller scored twice, either side of a wonder strike from Harrison Biggins, before Grimsby striker John McAtee marked his return from injury with a late consolation.
For the opener, Miller drifted wide and delivered to Kyle Knoyle who was denied by Max Crocombe, but his team-mate was on hand to convert the rebound.
Grimsby pushed for a leveller as Harry Clifton dragged wide from 25 yards before the same player passed up a golden one-on-one chance after racing clean through.
At the other end, Miller took aim shortly before half-time, but got too much elevation on that attempt as Crocombe went untroubled.
Biggins produced a sensational half-volley to make it 2-0 shortly after the restart and that meant Grimsby had to throw caution to the wind.
But in doing so, they left themselves open to the counter-attack with Miller slotting home his second for Doncaster before McAtee came off the bench to reply.
Goal! Grimsby Town 1, Doncaster Rovers 3. John McAtee right footed shot from the centre of the box to the bottom right corner. Assisted by Gavan Holohan.