Jordan Owens bagged a double as Crusaders defeated Cliftonville in the north Belfast derby at Seaview.
The striker poked in the opener but the champions hit back with Johnny Flynn heading in a 40th minute equaliser.
Crues skipper Colin Coates blasted in with 13 minutes left before Owens slotted home and Nathan Hanley's injury-time header sealed victory.
Cliftonville slip to second after their nine-game winning run was ended while the Crues are a point off the top.
The hosts posed the greater threat throughout the game and Reds keeper Conor Devlin produced an excellent double-save to keep out strikes from Gavin Whyte and Paul Heatley.
However, Devlin was beaten on 35 minutes as Owens slid in at the back post to net from Whyte's pinpoint pass across the face of the goal.
Owens went from hero to villain when his header across his own goal was turned in by a grateful Flynn.
Both sides squandered chances in a tight second half before Heatley set up Coates to smash into the roof of the net from close range.
Cliftonville thought they had equalised when Flynn volleyed in but it was ruled out as the ball went out of play as the corner was swung it.
Flynn was guilty of a mistake at the other end which let in Owens to slide the ball past Devlin and make it 3-1 with five minutes left.
Substitute Hanley made it a memorable day for the Crusaders faithful with a close-range header in the first minute of added time.
It was an impressive response from Stephen Baxter's side after the midweek defeat by Bangor in the League Cup quarter-finals.
"We showed a lot of character to bounce back after losing to Bangor and it was a perfect performance," said Crues forward Owens.
"In the second half we were perfect all over the park - it is an important three points."