Corcoran showed rare composure in the final third to snatch what looked like a deserved draw from the clutches of the visitors just as five minutes of injury time were indicated.
Daniel Kelly had given Bray a surprise lead after just three minutes with a well-taken header but Ian Morris levelled almost immediately with a brilliant long-distance strike.
The large Dalymount crowd barely had time to take their seats when the visitors hit the front, Kelly heading past Shane Supple from a superb Kevin Lynch cross.
Bohemians hit back almost sttraight from the kick-off, midfielder Morris lining up a shot from 30 yards that arrowed past Aaron Dillon and into the corner of the Bray net.
The home side took control from there and both Eoghan Stokes and Oscar Brennan shot wide from just outside the box when teed up in space by Corcoran, who had missed the last two games with injury.
Dan Casey forced a good low stop from on-loan Blackburn Rovers keeper Dillon as Keith Long’s side continued to have the better of the action.
The tie swung Bray’s way as the half elapsed, however, and it took a stunning save from Supple to stop Sean Heaney’s header from nestling in the bottom corner.
Darragh Noone butchered a four-on-two shortly after Bohs were caught on the break, but he selfishly chose to shoot meekly rather than play in better-placed team mates.
The second half was light on action but high on suspense, Corcoran drilling home from close range to snatch all three points and condemn Bray to a sixth straight defeat that leaves them six points adrift.
Shane Supple; Keith Buckley, Dan Casey, Rob Cornwall, Darragh Leahy; Ian Morris (Dylan Watts 80) Oscar Brennan, Keith Buckley, Paddy Kavanagh, Karl Moore (Kevin Devaney 83), Eoghan Stokes (Keith Ward 58); Dinny Corcoran.
Aaron Dillon; Hugh Douglas, Conor Kenna, Sean Heaney, Kevin Lynch (Rhys Gorman 85); Daniel Kelly (Calvin Rogers 81), John Sullivan, Darragh Noone (Paul O’Conor 78), Jake Kelly; Gary McCabe, Aaron Greene.
Rob Rogers (Dublin).