Romeo Parkes’ 89th minute winner saw Sligo Rovers stretch their unbeaten run to seven as they stunned ten man Bohemians at Dalymount Park.
Parkes had given Rovers the lead early in the second half but Bohs bounced back shortly after, courtesy of Conor Levingston.
Keith Long’s side were well in charge for the majority of the second period, despite losing Derek Pender to a red card.
But Rovers pulled through with a late smash and grab strike through the in form Parkes with one minute left.
Neither side managed to worry the opposition goalkeeper in a first half which saw 18 minutes injury time added on.
Corcoran pulled up short at the edge of the Sligo six-yard-box after nine minutes, resulting in five minutes treatment before the striker was stretchered off.
Corcoran unable to continue having picked up what looked like an ankle injury.
The medical staff from both camps were in attendance again on the quarter hour.
Sligo centre half Dante Leverock collided with his goalkeeper Ed McGinty after the Bermudan struggled to deal with a ball forward from the Bohs defence.
Substitute Ryan Swan then went to ground as he tried to round a dazed McGinty, but referee Neil Doyle waved play on.
The official then called a halt to play in order for Leverock to be treated.
After a 12 minute break, the game’s first shot on target came on 35 minutes.
Danny Mandroiu, who scored a delicious free-kick against St Patrick’s Athletic recently, unable to repeat the trick as McGinty was relatively comfortable in dealing with his curled effort from 30 yards.
Bohs net minder James Talbot dived on half chances for both Ronan Murray and Romeo Parkes.
While McGinty saw off long-rangers from both Mandroiu and Conor Levingston late on in the first period which lasted 64 minutes.
The second half was just three minutes old when Liam Buckley’s charges hit the lead.
Skipper David Cawley finding Parkes in space on the right. The Jamaican international taking time to steady himself before knocking the ball off the inside of Talbot’s far post for his fifth of the year.
The lead lasted barely five minutes.
The sheer power of Levingston’s drive from the edge of the area allowing the ball burrow under the grasp of McGinty and beyond the rookie ‘keeper.
Lifted by their equaliser, the Dubliners were almost ahead on the hour.
Both Levingston and Swan were just inches away from getting a touch on Darragh Leahy’s ball to the back post as Sligo had to weather the Gypsy storm.
Bohs were then reduced to ten on 69 minutes when captain Pender was dismissed following a high challenge on Lewis Banks in front of the away dugout.
Keith Long’s charges looked the more likely to win the game as they piled on the pressure, but there was to be a sting in the Rovers tail.
Parkes started the move deep in his own half by pushing possession into the path of Ronan Coughlan, who on the counter, returned the gesture with a superb ball over the top for Parkes.
The striker taking a deft touch to control the ball before twice dummying both Talbot and the last Bohs defender and firing home for his brace.
Bohemians: James Talbot; Derek Pender, Aaron Barry, Darragh Leahy; Conor Levingston, Robbie McCourt (Scott Allardice 80); Keith Ward, Danny Mandroiu, Kevin Devaney (Luke Wade-Slater 52); Dinny Corcoran (Ryan Swan 13).
Sligo Rovers: Ed McGinty; Johnny Dunleavy (Regan Donelon 45+2) (Kris Twardek 63), Dante Leverock (Kyle Callan-McFadden 27), John Mahon, Lewis Banks; Sam Warde; David Cawley, Daryl Fordyce; Ronan Murray; Ronan Coughlan, Romeo Parkes.
Referee: Neil Doyle.
Attendance: 2,353