Conan Byrne scored a brilliant winner as Shelbourne overcame a two-goal deficit to defeat Cork City 3-2 at Tolka Park.
Goals from Vinny Sullivan in the 25th minute and skipper Kevin Murray in the 42nd minute looked to have Cork in control at half-time.
David Cassidy got Shels back into it with a goal in the 53rd minute, before Philly Hughes levelled from a 61st-minute penalty.
Byrne then curled home a stunning free-kick in the 73rd minute to complete the turnaround.
Cork almost fell behind in the fifth minute when Byrne’s low drive troubled keeper Mark McNulty, who saw the ball squirm through his hands, hit the post and come back to him.
Tommy Dunne’s side settled the better, though, taking the game to Shels and soon creating chances.
Sullivan blazed over the bar after Shels failed to properly clear a free-kick into their area by Danny Murphy on 23 minutes.
Two minutes later, Cork were deservedly ahead. Ian Turner picked out Gavin Kavanagh in space on the right and the full-back's low cross was shot to the roof of the net from close range by Sullivan.
Shels were in disarray at the back and it came as no surprise when Cork doubled their lead three minutes before the break.
Home keeper Chris Bennion was booked in giving away a free-kick outside his box for a foul on Daryl Horgan.
Bennion punched away Horgan’s free, before parrying from Sullivan’s follow-up.
However, the ball still wasn’t clear, and Murray fired the loose ball to the net with the help of a deflection.
Shels were much better on the resumption and pulled a goal back eight minutes after the restart.
Kevin Dawson’s miss-hit shot ran for skipper Cassidy, who fired home from 12 yards.
A hotly-disputed penalty brought Shels level on 61 minutes. Kalen Spillane was adjudged to have shoved Hughes inside the area. Hughes duly slotted home from the spot.
Byrne then won it on 73 minutes. John Dunleavy was booked for a foul on Dawson just outside the area and Byrne blasted a stunning free-kick beyond the wall and past McNulty to the net.
Shelbourne: Bennion; Shortall, Boyle, Paisley, Fitzgerald; C. Byrne, Cronin, Dawson, Kavanagh; Cassidy; Hughes (Gorman, 90).
Cork City: McNulty; Kavanagh, K. Murray, Spillane (D. Murray, 65), Murphy; Dunleavy (O‘Neill, 81); Turner, Healy (Morrissey, 76), Duggan, D. Horgan; Sullivan.
Referee: Rob Rogers (Dublin)