Derry City lost ground at the top of the Premier Division after this defeat by champions Sligo at the Brandywell.
Rory Patterson missed a second-half penalty for the hosts before goals from David Cawley and substitute Danny North secured all three points for Rovers.
Sean Houston lashed in a late strike but it proved to be little more than a consolation.
Sligo move above their north-west rivals into third while City are five points behind leaders St Pat's.
The pacesetters were held to a 0-0 draw by Drogheda United at Richmond Park.
Derry's best chance of a cagey first half in blustery conditions fell to David McDaid.
Patrick McEleney's superb throughball sent the striker clear, but the former Nottingham Forest man could only drag his shot past the post.
Sligo had a glorious chance to take the lead after half an hour, when a quick free-kick caught the Derry back four napping, but David McMillan rolled the ball wide with only Gerard Doherty to beat.
The game sprung into lift after 59 minutes when Gavin Peers was adjudged to have fouled Patterson in the area.
Despite Sligo protests, Patterson dusted himself down but his well-struck penalty was pushed wide by Gary Rogers before the striker's volley from the resultant corner was superbly tipped over by the keeper.
Five minutes later City were behind when neat interplay between Kieran Djalili and Seamus Conneely fed Cawley, who coolly slotted the ball past the onrushing Doherty.
In the 81st minute, a speculative punt upfield fell kindly for North, who kept his composure to find the back of the net
Fellow substitute Houston scored a brilliant goal from the edge of the area three minutes from time to set up a tense finale.
Derry City: Doherty, Madden, S McEleney, McBride, Osborne, Kavanagh, Molloy, Higgins, P McEleney, McDaid, Patterson.
Sligo Rovers: Rogers, Keane, Peers, E McMillan, Davoren, Djilali, Conneely, Ndo, Cretaro, Cawley, McMillan.
Referee: Anthony Buttimer