Bray Wanderers threw away two points as Dinny Corcoran's 89th minute strike rescued a point as 10-man Bohemians drew 1-1 at Dalymount Park in the SEE Airtricity League Premier Division.
Graham Kelly blasted home a 27th minute penalty after Bohs keeper Dean Delany saw red for taking down Jake Kelly in the area. A six minute delay followed as medics stretchered Kelly off but Graham put substitute keeper the wrong way.
Bray dropped deep in the second-half, inviting Bohs onto them and saw a victory snatched from them as Corcoran rounded the Stephen McGuinness in the Bray goal before slotting home.
Bohs who came into the game in seventh, a point and a place ahead of their opponents and looked lively early on. Stephen Beattie's third minute shot from the right side of the box was the closest they came but it was saved well by Stephen McGuinness in the Bray goal.
Then Bray gained a foothold in the game, in no small part due to Jake Kelly's presence up front. On seven minutes they opened up the Bohs defence but Jake Kelly's extra touch allowed Aidan Price to block the shot inside the area.
Four minutes later Kelly managed to get his shot off, turning on the edge of the area, but Dean Delany gathered easily. Graham Kelly was next to try his luck but his snapshot after a Ismahil Akinade lay back went well wide.
On 21 minutes the game turned as referee Sean Grant sent Dean Delany off for taking down Jake Kelly. The Bray attacker controlled superbly to take a long ball around him but the Bohs keeper took him down and Grant issued a straight red card.
After the six minutes it took the medics to take Jake Kelly from the field, Graham Kelly stepped up on 27 minutes to blast the penalty down the middle six minutes as substitute keeper Lee Murphy dived to his left.
It could have been two within minutes as sloppy defending gifted Shane Byrne possession on the edge of the Bohs area. A tame shot followed after a one-two with Akinade.
Both teams could have scored at the end of the half but Dave Webster's flick from a corner lacked power and Murphy saved well. In reply, a Darragh Reynor cross was met by Price who headed off the crossbar at the end of the half.
Akinade should have made it two within a minute of the restart when a he blocked down a clearance by Price and as Murphy raced off his line, Akinade's lob went narrowly wide.
Bohs were living off scraps but Beattie was unfortunate to see his shot well saved by McGuinness as Bray seemed content with leaving Akinade up front on his own and hitting their hosts on the counter-attack.
But Bray were the cause of their own undoing as they continued to drop back. Robert Moloney saw yellow when he hauled down Beattie on 72 after substitute Kevin Devanney threaded through a superb pass between Moloney and Adam Mitchell. While the free-kick came to nothing, a Craig Walsh speculative effort whizzed over the bar moments later as Bohs pinned Bray back inside their half.
With time almost up, Bohs' persistence was rewarded when Corcoran controlled a Craig Walsh pass and rounded McGuinness before sliding home. An unlikely point for Bohs, keeps them ahead of Bray in the table, while their visitors will feel they should have put the game beyond doubt with the man advantage.
Bohemians: Dean Delany, Derek Pender, Aidan Price, Roberto Lopes, Darragh Reynor (Jason Byrne on 77), Stephen Beattie, Craig Walsh, Dan Byrne, Karl Moore (Kevin Devanney on 67), Patrick Kavanagh (Lee Murphy on 22), Dinny Corcoran.
Bray Wanderers: Stephen McGuinness, Shane O'Connor, Robert Moloney (Shane O'Neill 77), Dave Webster, Adam Mitchell, Dean Zambra, Shane Byrne, Graham Kelly, David Cassidy, Jake Kelly (Dave Scully on 27), Ismhail Akinade.