St Patrick's Athletic goalkeeper Brendan Clarke was sensational in the second half of this Dublin derby but he was cruelly beaten at the death by Dan Carr as Shamrock Rovers took the three points.
Rovers, having completely bossed the second half, were finally rewarded by Carr's header, as they continued a strong end to the season - albeit far too late to challenge the top two.
Incredibly, since either Gavin Bazunu or Alan Mannus took over in nets, Shamrock Rovers have kept 11 clean sheets from 13 games in the league, and they rarely looked troubled here.
This was a forgettable if lively game, a derby contest robbed of relevance as the season withers away, but Rovers were by far the better team. They will reflect on another powerful display, even if they remain miles off Dundalk in the table.
The hosts, fresh from a creditable draw in Dundalk, began well and Ryan Brennan headed over after a minute.
Gary Shaw, restored to the Hoops attack, had a really bright start and, after his shot was blocked, Ronan Finn fizzed over.
Shaw had a fine chance on 19 minutes but pulled his shot quite badly wide from around 20 yards. At the other end, a powerful Kevin Toner header had Alan Mannus on alert.
A lovely move should've seen Rovers go ahead on 27 minutes. Dan Carr linked up really nicely with Ethan Boyle and, from his cross, Joel Constrain headed over with the goal gaping.
Latvian referee Mareks Kere â€“ part of an officiating team visiting from the Baltic state â€“ showed a tendency not to give a free unless absolutely necessary. It was refereeing from another era and Shaw, seemingly nudged in the back by Toner, certainly had a penalty shout on 33 minutes.
Toner then outmuscled Boyle from a Birmingham corner but got under his header as the chances kept coming.
Boyle was brave to block a rare shot from Jamie Lennon but it was all Rovers after the restart and Patrick's struggled to get possession. Shaw's drive was deflected out for a corner when he paid the price for delaying his effort, set up after a marauding run from Lopes.
Brandon Kavanagh, introduced with 25 minutes left, headed over a cross from Boyle, who had a fine game. At the other end, Jake Keegan also got under his header.
Constrain had the best chance of the half after being set up by Finn but Brendan Clarke got down to save Finn then had his shot blocked in what seemed a theme of the night at this stage. Watts, who had another fine game, forced Clarke to parry wide, before Lopes' header from the consequence corner produced a stunning save from the Saints 'keeper as he was moving the other way. Finn then shot wide when he should have scored.
Clarke then pulled off a pretty incredible save from Brandon Kavanagh as Rovers pushed for a deserved winner, which they thought they had only for Carr to be deemed offside from Finn's centre.
Carr finally did the needful in injury time. The impressive Brandon Kavanagh crossed for the Englishman to head into an empty net after being set up by Watts.