Jordan Rhodes scored two second-half goals as 10-man Blackburn Rovers fought back to secure a dramatic 2-1 win over Leeds United.
The visitors looked on track for a first away win since August thanks to Souleymane Doukara's opener after 30 minutes, but the game was turned on its head late in the second half.
A calamitous mix-up gifted Rhodes a 71st-minute equaliser and though Tom Cairney was sent off soon after, Rovers grabbed a dramatic winner through a Rhodes penalty after former Leeds forward Luke Varney went down in the area.
It was a bitter pill to swallow for Leeds, whose winless run against Blackburn extended to six. Rovers are now eight unbeaten and have won their last three home games as their charge towards the play-offs continues.
Blackburn boss Gary Bowyer recalled Rhodes in place of Ryan Tunnicliffe from the draw at Brighton while his opposite number Neil Redfearn named the same team that defeated Blackpool.
Rovers went close after 16 minutes when Ben Marshall's cross found its way to Cairney, who clipped the crossbar with a curling shot.
Marshall was again in the action 10 minutes later when his superb first touch took him away from Sam Byram and his drive forced a low save out of Marco Silvestri.
The hosts would have been behind after 30 minutes but for a stunning Jason Steele save. Adryan worked space 25 yards out and curled a shot that was destined for the top corner but the Blackburn goalkeeper somehow tipped over.
The reprieve was short-lived though, as a minute later, Leeds went ahead when Blackburn failed to deal with a corner and Doukara was on hand to sweep home via the post from close range.
A lively second half saw Rudy Gestede set up Rhodes who stung Silvestri's palms and the two combined again as Gestede volleyed wide.
They drew level in the 71st minute after a nightmare moment for Leeds. Rhodes chased a long ball and Liam Cooper marshalled the ball to his goalkeeper but Silvestri only succeeded in clattering his team-mate and Rhodes tapped in.
The stunned visitors were inches away from regaining the lead after 77 minutes when Adryan found Mirko Antenucci, who sprung the offside trap, but his effort cannoned back off the post.
This lively encounter took another twist three minutes later as Cairney was dismissed for receiving a second booking after a late challenge on Cooper.
But there was still time for controversy as the 10 men were awarded a penalty three minutes from time. Substitute Varney was brought down by Byram but the Leeds players were furious and thought their former team-mate dived.
Rhodes kept his cool to send Silvestri the wrong way to register his seventh goal of the season and secure a dramatic win.