A dramatic injury-time winner from captain Pat Scully completed a terrific second-half comeback by Shelbourne on Saturday night and helped them stretch their lead at the top of the Premier Division to six points.
Wet and windy conditions put the game in doubt until shortly before kick-off, but the heavily sanded pitch did not prevent either side approaching the match in a positive frame of mind.
Finn Harps struck first when Mike Turner raced on to a clever pass from Fergal Harkin to slot past Steve Williams in the 11th minute.
With the wind in their favour, Finn Harps caused plenty of problems for Shelbourne and only a brilliant save from Williams prevented James Mulligan from scoring in the 26th minute. Jonathan Minnock's resulting corner went straight into the net.
Six minutes into the second half, a wind-assisted strike from Pat Fenlon flew into the top corner to begin the Shelbourne revival.
Finn Harps should have scored a minute later when McGrenaghan set Harkin clear, but he could only shoot straight at Williams, while Richie Baker hacked another Harkin effort away in the 59th minute after his shot had beaten Williams.
Then in the 66th minute Stephen Geoghegan raced clear of the Finn Harps defence to shoot past McKenna from the edge of the box to level the game.
A terrific point-blank save from Brian McKenna to deny Gary Haylock in the 90th minute seemed to have secured at least a point for Finn Harps, but they didn't count on Scully getting on the end of Pat Fenlon's 93rd minute free-kick to secure a vital win for Shelbourne.
Finn Harps: McKenna, Kenny, Minnock, Boyle, Dykes, Tierney, Mohan, McGrenaghan, Mulligan, Turner, Harkin. Sub: Speak for Mulligan (85 mins).
Shelbourne: Williams, Heary, D Geoghegan, McCarthy, Scully, D Baker, Doolin, S Geoghegan, R Baker, Fenlon, Keddy. Subs: Campbell for Doolin (60 mins), Haylock for D Geoghegan (28 mins).
Referee: J Stacey (Athlone).