Jason Byrne ensured a nail-biting finish to the domestic season as his goal blew the title race wide open and moved Bohemians to within two points of leader Shamrock Rovers with three games to play.
Pat Fenlon's in-form champions stretched their unbeaten run to nine games as they gained more ground on Rovers.
Bohs took the game to Rovers and dominated the opening half, proving full value for their interval, and indeed match-winning, lead.
Despite their possession from the off, it was 20 minutes before Bohs fashioned a chance when Byrne’s shot was deflected for a corner off Aiden Price.
A minute later Byrne would make no mistake, however. Glen Cronin’s delightful chip into the area was knocked down by Ken Oman and Byrne’s flick volley rustled the roof of Alan Mannus’ net for his 10th strike of the league campaign.
Byrne brought a tame save from Mannus with a header shortly afterwards before injury forced him off on 36 minutes.
Rovers switched to a 4-4-2 for the second half and it almost made an immediate impact as they might have been level on 53 minutes from their only real dominant spell of the match.
Oman’s back pass had keeper Barry Murphy in trouble and Brian Shelley had to clear off the line from Gary Twigg before Murphy saved the follow-up shot by James Chambers.
Twigg then had a double effort blocked away as Bohs held out for their first win over their arch-rivals in seven games.
Bohemians: Murphy; Rossiter, Shelley, Oman, Powell; Brennan, Cronin, Keegan, McGlynn; Cretaro (Greene, 85 mins.), Byrne (Madden, 36 mins.).
Shamrock Rovers: Mannus; Flynn, Sives, Price, Stevens; Kavanagh (Stewart, h/t), Rice, Turner, Dennehy (Baker, 78 mins.); Chambers (Fenn, 69 mins.); Twigg.
Referee: Alan Kelly (Cork).