Harrogate Railway conceded three goals in second half stoppage time after looking like they would claim all three points from their trip to Seel Park.
Chris Ovington gave Railway a 19th minute lead only for Tom Pratt to level before the break and put the home side ahead just two minutes after the re-start.
Seven minutes later Ovington struck again to tie it up before substitute Paul Beesley found the bottom corner in the 69th minute to give Lee Ashforth’s men a late lead.
The visitors looked to be holding on to a memorable win as the rain cannoned down only for substitute Doug Carroll to curl one into the far corner one minute into time added on.
Three minutes later the substitute found the net again to complete The Lilywhites remarkable comeback as Pratt completed his hat-trick eight minutes after 90 minutes were up.
Ashforth made one change from Monday night’s narrow defeat to Burscough, replacing Luca Mellor with fit again Lawrance Hunter.
Ovington had the afternoon’s first shot on target, forcing Liam Flynn into a low save after good work from Amar Purewal on the left.
It was then the turn of Chandler Hallwood to guard his net as the young stopper sprung to his top corner to keep out Andy Keogh’s glancing header.
Ovington then finished off an incisive Railway move as Nathan Curtis slid the ball into the path of Charlie Clamp who picked out the former Ossett Town man for his third Railway goal.
After going behind, Mossley put pressure on Railway’s defence looking for an equaliser but were met by Hallwood’s diving save from Pratt’s finish and Alex Low’s goal line clearance moments later.
The equaliser eventually came in the 32nd minute when Pratt was released by Mike Fish behind the defence and kept his composure to beat Hallwood.
In the closing stages of the half Ovington bent a free kick fractionally past the far post, while Hallwood again had to be thanked for keeping Rail level as he stopped Pratt’s powerful volley.
Two minutes after the re-start and the impressive Pratt was again put through by Fish and again remained calm to finish the move.
Ovington soon got Railway level though, after Harry Coates had driven towards goal and picked out the unmarked Ovington inside the area, the winger lifted the ball high into the back of the net for his second of the afternoon.
Ashforth then opted to replace Purewal with Beesley, and the dual registered Harrogate Town man soon repaid the faith of his manager, expertly picking out the far corner when given space in the box.
The weather then took a turn for the worse as torrential rain hammered down on the surface, though that didn’t stop Clamp racing onto Beesley’s knock down and shooting over.
For the remaining 20 minutes of normal time Railway held firm with Simon Parkes in particular breaking up Mossley attacks with well timed tackles.
With the referee signalling five additional minutes, Carroll attacked down Railway’s right before picking out the far corner with an inswinging cross/shot to tie it up.
Just as Railway were coming to terms with having to settle for a point, it was torn away from them as Carroll was quickest to react when Hallwood parried a skidding shot.
Rail piled men forward in a desperate attempt to salvage something from the game but were undone on the counter attack as Pratt again sprung the offside trap and finished well.
Harrogate Railway: Hallwood, Parkes, Hunter, Low, Lovegreen, Thirkell, Clamp, Coates, Purewal (Beesley 64), Ovington (Bromley 80), Curtis
Subs not used: Peers, Mellor, Youhill
Goals: Ovington 19, 54, Beesley 69
Mossley: Flynn, Henson, McDonnell (Carroll 75), Thomas, Dean, McGonigle, Bennett, Fish (Robinson 65), Keough, Short (Abadaki 75), Pratt
Subs not used: Baker, Warburton
Goals: Pratt 32, 47, 90+8 Carroll 90+1, 90+4
Referee: P Ince
Report by Hal Boxhall-Dockree
Photograph by Caught Light Photography