Strikes at each end of the game gave Grimsby Town victory against Bolton Wanderers at Blundell Park.
Both sides were guilty of missing a number of chances but the hosts scored the two that mattered to claim all three points.
Substitute Shaun Miller volleyed expertly past James McKeown in injury-time to set up a frantic finish, but the home side held on for a hugely valuable three points in their fight against relegation.
Wanderers remain in the automatic promotion spots despite the defeat and will look to bounce back on Tuesday against Carlisle United at the University of Bolton Stadium.
Ian Evatt named the same starting XI that ended Salford City’s unbeaten home record in midweek.
The hosts took the lead inside a minute with their first attack of the game through Jay Matete whose well-placed shot found its way past Matt Gilks and into the far corner.
Wanderers responded positively and forced their way upfield with Lloyd Isgrove seeing a shot blocked after cutting inside to try his luck.
James Hanson wasted a good chance to get a shot on target after being played in by Harry Clifton. The big striker scuffed his shot over with the goal at his mercy.
At the other end, George Thomason saw his close-range effort kept out by keeper James McKeown after the midfielder got on the end of Isgrove’s low centre.
Wanderers were starting to find their groove and Isgrove again put in a good ball from the right-hand side but Dapo Afolayan’s shot went over the bar.
Gilks made a crucial save to keep out Matete’s volley with Wanderers struggling to clear their lines from a corner.
Matete had another shot at goal, with this one coming from distance but Gilks got down to smother the ball comfortably.
McKeown made a good save to keep out Doyle’s left-footer. Kieran Lee intercepted the ball and took it forward to play in the Irishman but he couldn't find a way of netting his 18th goal of the season.
John’s free-kick from a threatening position went high and wide of goal with Wanderers pressing to get back on terms.
The hosts started the second half almost as quickly as they began the game.
Hanson outmuscled Ricardo Almeida Santos on the edge of the box and got a shot at goal which was saved by Gilks, the visitors followed up on three more occasions with strikes on goal with the Wanderers keeper blocking each effort.
Wanderers earned another reprieve when Gilks came to the rescue to keep out Clifton from close range. Hanson’s follow-up then crashed off the underside of the crossbar before the ball was cleared out of danger.
Again, Wanderers responded positively and after Afolayan’s shot was blocked for a corner, Doyle’s effort from Declan John’s dragged shot was somehow kept out by McKeown at close range.
Wanderers broke away after Gilks kept out Lenell John-Lewis’s effort and earned a corner when Isgrove’s shot at the far post was turned away by McKeown. The game had become an end-to-end encounter with Ian Evatt's men looking to find a way back into the game and Grimsby looking for a decisive second goal.
Gilks made a world-class save to keep out John-Lewis when Grimsby charged forward as John lost possession at the near side. The Wanderers keeper flung himself to prevent the Mariners’ captain from doubling his team’s lead. Evan Khouri blasted over the rebound.
The game was remarkably back and forth and Wanderers again wasted another chance when John’s effort across goal trickled wide with Doyle not far from connecting.
With twenty minutes to go, Evatt made a double substitution when he brought on Nathan Delfouneso and Zack Elbouzedi for Isgrove and Afolayan.
Hanson was unmarked in the box and teed up Clifton who shot straight onto the arms of Gilks.
Elbouzedi looked to make an impact right away and he lost his marker to put in a decent cross into the box but Doyle was unable to get a clean strike of the ball.
With 14 minutes to go Wanderers made another double change with Harry Brockbank and Shaun Miller coming on for John and Lee.
Wanderers made their final change with five minutes to go when Arthur Gnahouha came on for Doyle.
Town doubled their lead and effectively ended the contest when substitute Ira Jackson Jr poked home from close range and they held on for the victory despite Miller's superb finish in stoppage time.
Grimsby Town: McKeown, Hendrie (Jackson Jr 84), Hewitt, Menayese, Habergham, Clifton, Coke, Matete, Khouri (Spokes 81), John-Lewis, Hanson.
Unused Subs: Battersby, Waterfall, Rose, Lamy, Green.
Goals: Matete (1), Jackson Jr (86).
Bolton Wanderers: Gilks, Jones, Almeida Santos, Baptiste, John (Brockbank 76), Williams, Thomason, Lee (Miller 76), Isgrove (Delfouneso 71), Afolayan (Elbouzedi 71), Doyle (Gnahoua 85).
Unused Subs: Delaney, Tutte.
Goal: Miller (90+6)