BASEMENT side Shelbourne have moved to within five points of Bohemians by cruising past their Dublin rivals at Dalymount Park.
Any hope the Gypsies held of building on last week's draw in Sligo vanished within seven minutes when they fell behind.
There looked to be little danger when Sean Brennan strode into the Bohemians half in possession, but, with the aid of kind ricochet, the midfielder charged past three defenders before firing past Dean Delany.
With the supply to frontman David Scully scarce, the hosts struggled for ideas and imploded in a two-minute spell.
Firstly, on 32 minutes, full-back Derek Pender's wild lunge on Darren Tinnelly resulted in a straight red card.
In the second half a slip by Luke Byrne on 52 minutes enabled Kelly to latch onto Philip Hughes' through ball and race clear. The striker remained composed to curl his rising shot into the top corner.
Brennan was denied a fourth on the hour by the feet of Delany, while the 'keeper foiled efforts by Hughes and Leech 10 minutes later.
To compound a woeful night for Bohs, Chris Lyons had a penalty saved 10 minutes from time. Niall Burdon redeemed himself for hauling Karl Moore down in the box by batting away the sub's poor attempt.
Bohemians – Delany; Pender, Heary, Lopes (Nangle 17), Byrne; Buckley, Mulcahy (Traynor 55), McEvoy, Devaney (Lyons 71); Moore; Scully.
Shelbourne – Burdon; Flynn, Gartland, Ryan, Memery (Shortall 76); Brennan, Cronin, Hurley, Tinnelly; Kelly (Leech 63), Hughes (O'Connor 88).
Ref – T Connolly (Dublin).