Goals from Steven Beattie and Eoin Wearen helped Owen Heary's pick up their first home win since September to stun the title challengers
After surviving early pressure, Bohs took the lead after eight minutes. Anto Murphy lost Iarlaith Davoren, and delivered a perfect ball for Beattie to stoop down and nod it past Mark McNulty for his first league goal.
Soon after, Bohs were inches away from doubling the lead. Murphy again got away from Davoren, and dinked a ball over for Kevin Devaney to run onto. Devaney struck it on the half volley, but the ball rattled off the crossbar and away to safety.
Cork were reduced to 10 men after Brian Lenihan went over the top of Aidan Price and landed on his neck. The left-back required lengthy treatment, before being taken off on a stretcher and then to hospital.
Bohs made the extra man count within a minute of the restart, when Jason Byrne drilled a low cross in for Wearen to tap home from four yards. The Gypises were happy to sit on their lead, the extra man snuffing out any attempt at a Cork attack.
The result sees Cork's 10 game unbeaten run come to an end, and leaves Bohemians level on points with Derry City in midtable. Cork are still level on 46 points with Dundalk, but the Lilywhites have a game in hand on John Caulfield's men.