As smash and grab raids go this took the proverbial biscuit. After Sean Francis put them ahead on 23 minutes, Rovers simply held on for a win they deserved, if only for their dogged defending and resolve against a Bohemians side that was superior in all departments - except in the one area that counts, in front of goal.
With only one win from their last 14 meetings with their Dublin rivals, a devastated Bohemians were left scratching their heads as to how they got nothing from this game.
Rovers will scarcely offer comfort as the result moves them up to second overnight, level on points with their rivals, and into contention in the title race.
Rovers were unchanged while Dave Morrison was the one addition to the Bohemians side, though manger Roddy Collins switched things round in defence. Stephen Caffrey dropped back to play in the middle alongside Shaun Maher with Dave Hill the real surprise at left-back as Simon Webb was pushed on, Collins gambling on the lack of pace down the Rovers right side.
Ironically, that's where Rovers lead goal came from on 23 minutes.
Tony Grant collected a Marc Kenny ball to pick out Jason Colwell at the near post. Colwell, who had to pass a fitness test on an ankle before the game, shot first-time off the butt of an upright. But the danger remained in the guise of Francis, who looked suspiciously offside, and who almost nonchalantly tucked the loose ball home to score his fifth goal of the season.
Collins soon switched Webb and Hill and the latter almost equalised on 39 minutes, his left-foot volley from 25 yards flashing past Horgan's right-hand post.
A minute earlier Gareth Cronin had bravely blocked a shot from Trevor Molloy as Rovers struggled desperately to clear their lines.
Prior to that Bohemians had twice come close to their equaliser as Molloy watched a dipping volley fly inches over the top while Anthony Hopper did likewise after a poor clearing header from Cronin from Webb's deep cross.
The second-half remained one-way traffic as Bohemians pushed forward. But a lack of composure in front of goal and the excellence of Horgan, who saved from Webb late on, proved costly
In a final twist, Francis almost stole a second goal in injury time but his tired shot dribbled wide.
BOHEMIANS: Russell; O'Connor, Caffrey, Maher, Hill; Morrison, Hunt, Hopper, Webb; Molloy, Crowe. Subs: O'Neill for Crowe (63 mins), Markey for Morrison (74 mins).
SHAMROCK ROVERS: Horgan; Smith, Palmer, Cronin, Woods; Kenny, Colwell, Tracey, Byrne; Francis, Grant. Subs: Robinson for Colwell (61 mins), Deans for Kenny (85 mins).
Referee: J McDermott (Dublin).