With Bohemians going down to Bray Wanderers at Dalymount Park, Shamrock Rovers took full advantage at Tallaght Stadium.
Gary Twigg scored the winner from the spot on the half hour, his 19th of the campaign, having been pulled at by Damian Lynch who was shown a straight red card.
Sean O'Connor had an excellent night for Rovers and was unlucky not to add to their tally, going close several times.
Rovers keeper Barry Murphy had a quite night but made a fine second half save from Enda Stevens.
In an entertaining opening Pat's Ryan Guy set up Alan Cawley for a 35-yarder but the Sligo native lifted his shot high over the top at the Tallaght Bypass end of the ground.
Rovers pushed Pat's at every opportunity and twice Jason Gavin forced his goalkeeper Gary Rogers into tough kick outs from back-passes when under Rovers pressure. Gavin did well though to head away O'Connor's free on eleven.
Rovers very nearly took the lead on 17 when O'Connor smashed an absolutely tremendous shot from the right but was agonisingly denied by the woodwork.
Rovers eventually took the lead with that spot kick on 30. Lynch was rightly dismissed for the arm and shirt sleeve tugging indiscretion and left is team with a mountain to climb when Twigg cracked home the penalty low to Rogers' right.
It could have been 2-0 on 36 minutes when a good Rovers move on the left ended with O'Connor sending in an excellent shot but he was unlucky again as this one curled around Rogers' right hand post.
Rovers' keeper Murphy had little to do in the opening half but was called into action on 48 and dived well to save from Dave Partridge's flick.
By now Stuart Byrne, complete with Lynch's captain's armband, had moved back and Pat's were going 4-3-2. They found it hard to create chances but were creative enough on 64 when Gavin pushed forward to find Declan O'Brien. He poked the ball toward Ryan Guy in the area but the Rovers defence cleared.
Murphy then saved well from Stevens while Gavin headed Cawley's corner over the top as Pat's continued to improve. But they couldn't find an equaliser.