Chasing a sublime early goal from Danny Joyce, St. Patrick’s dominated the game, exemplified by a corner count of 12 to one. But they didn’t level until the 82nd minute when substitute Dean Kelly’s shot came back off the bar and Fagan tapped home.
Fagan then won it four minutes into added time, getting on the end of a terrific cross from Sean O’Connor to head home from close range.
The win, only their sixth of the campaign, sees Liam Buckley’s side regain second place ahead of champions Shamrock Rovers and edge to within four points of leaders Sligo Rovers.
It augured reasonably well in the early moments as St. Patrick’s’ had Bohemians on the back foot as they opened up the visitors on several occasions. Chris Forrester ran at the Bohemians defence to shoot into the side netting before Greg Bolger’s incisive pass put Fagan in behind only for the striker to fire over.
But very much against the run of play, Bohemians stole the lead in their first attack on 10 minutes. Midfielder Joyce let fly with a curling right-footed shot which seemed to catch Brendan Clarke, who may have been hindered by the sun in his eyes, unawares to end up in the top corner.
Stung, St. Patrick’s surged back on the offensive with Bohemians keeper Craig Sexton bravely saving twice in quick succession at the feet of Bolger and then John Russell.
Darren Meenan then saw his intended cross deceive Sexton and come off the far post on 21 minutes with Kevin Feely putting the ball out for a corner.
Bohs weren’t slow about putting their foot in with both Forrester and Ger O’Brien needing treatment for heavy knocks as St. Patrick’s, who were lacking a cutting edge up top to go with the possession, trooped off frustrated at the break.
Bohemians introduced Dinny Corcoran and Stephen Traynor at half-time as they switched to a conventional 4-4-2 But it didn’t stem the tide of St. Patrick’s attacks as Sexton was worked twice early on by shots from Russell and Forrester.
In a rare foray forward Bohemians came close to doubling their lead on 57 minutes. Corcoran’s neat footwork set up Traynor whose fierce goalbound drive was bravely blocked by Kenny Browne.
St. Patrick’s continued to huff and puff at the other end. Russell headed to the net from O’Brien’s sublime cross on 70 minutes only for an assistant’s flag to be raised for an offside.
But then Fagan came to the rescue.
ST. PATRICK’S ATHLETIC: Clarke; O’Brien, Kenna, Browne, Bermingham; Carroll (Chambers, 67 mins.); Russell, Bolger; Forrester (D. Kelly, 81 mins.), Fagan, Meenan (O’Connor, 60 mins.).
BOHEMIANS: Sexton; Pender, Mulcahy, Feely, Byrne; Joyce (Lopes, 80 mins.), Martin (Traynor, h/t); Buckley, McEvoy, Moore (Corcoran, h/t); Scully.
Referee: Alan Kelly (Cork).