Bohemians have ended Shamrock Rovers' run of eight straight wins in the SSE Airtricity Premier Division.
The Hoops were down to nine men before 40 minutes had been played with Dinny Corcoran's goal enough to separate the sides.
Things started badly for Rovers after Trevor Clarke saw red in the 28th minute for a foul on Danny Grant.
They soon got worse as Lee Grace conceded a penalty and picked up a second booking for a hand-ball inside the box almost 10 minutes later.
Corcoran's penalty was saved but he managed to squeeze the ball home on the second attempt.
Bohs are now up to second in the table, five points adrift of Rovers and with a game in hand.