Match ends, Middlesbrough 1, Preston North End 2.
Middlesbrough manager Tony Pulis said the "shocking decision" to send off Daniel Ayala cost his side victory at home to Preston.
The Lilywhites came from a goal down to win at the Riverside Stadium after Ayala's 60th-minute red card for a foul on Brandon Barker - despite the defender seeming to play the ball.
A dominant first-half display saw Boro twice hit the post before Ashley Fletcher gave them a 32nd-minute lead as his shot deflected off Jordan Storey and past Declan Rudd.
But Paul Gallagher levelled from the free-kick that came from Ayala's red card before substitute Jayden Stockley headed North End to victory with nine minutes left.
Ayala's red card turned the game on its head - with the Boro bench furious at the decision to send him off for what appeared to be a firm but fair challenge.
"I think it's a poor decision," Pulis told BBC Radio Tees after the match.
"He's miles away from it and he's got people between him an the ball. How he makes that decision, a game-changing decision, from where he is, is just astonishing for me.
"In my opinion he's made a shocking decision tonight."
Boro should have been further ahead before half-time as Ayala headed against the post from a sixth-minute corner, before John Mikel Obi struck the upright five minutes later.
Rudd made two smart saves in the final three minutes of the half as Jonny Howson and Fletcher went close to doubling the hosts' lead.
Preston only threatened after their opponents were reduced to 10 men, as Ben Pearson and Barker also had chances to score.
Boro stay fifth in the Championship but now have just a three-point buffer between them and Bristol City in seventh place, while Alex Neil's side move up to ninth, four points behind their hosts.
Preston North End manager Alex Neil told BBC Radio Lancashire:
"The game will be spoken about for the sending-off, because it does change the game, it puts it in our favour.
"The issue you've always got with the sending-off is what is the rule nowadays?
"If the rule is if you win the ball it's not a sending-off, then the lad certainly won the ball. If the rule is dependent on how quickly you go into the ball, how high your foot is and a whole host of other things, then you could understand why it might be a sending-off.
"If I was Middlesbrough I'd be really disappointed, but naturally for us I'm pleased."
- 4AyalaBooked at 61mins
- 2MikelSubstituted forTavernierat 85'minutes
- 37BesicSubstituted forHugillat 77'minutes
- 18FletcherSubstituted forFryat 64'minutes
- 16HughesBooked at 90mins
- 8BrowneSubstituted forRaffertyat 22'minutes
- 4PearsonBooked at 55mins
- 12GallagherSubstituted forStockleyat 75'minutes
- 3EarlSubstituted forBarkerat 45'minutes
- Keith Stroud
- Shots on Target
Second Half ends, Middlesbrough 1, Preston North End 2.
Attempt saved. Daniel Johnson (Preston North End) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Brandon Barker.
Attempt blocked. Britt Assombalonga (Middlesbrough) header from the centre of the box is blocked. Assisted by George Friend with a cross.
Corner, Middlesbrough. Conceded by Sean Maguire.
Foul by Daniel Johnson (Preston North End).
Marcus Tavernier (Middlesbrough) wins a free kick in the attacking half.
Andrew Hughes (Preston North End) is shown the yellow card.
Foul by Andrew Hughes (Preston North End).
Jordan Hugill (Middlesbrough) wins a free kick in the defensive half.
Attempt saved. Brandon Barker (Preston North End) header from the left side of the box is saved in the top left corner. Assisted by Lukas Nmecha with a cross.
Sean Maguire (Preston North End) wins a free kick in the attacking half.
Foul by Marcus Tavernier (Middlesbrough).
Attempt missed. Daniel Johnson (Preston North End) left footed shot from the centre of the box is too high.
Attempt saved. Lukas Nmecha (Preston North End) right footed shot from a difficult angle on the right is saved in the centre of the goal. Assisted by Sean Maguire.
Attempt missed. Lewis Wing (Middlesbrough) right footed shot from outside the box misses to the left. Assisted by Jonny Howson.
Attempt missed. Lukas Nmecha (Preston North End) left footed shot from the left side of the box misses to the left. Assisted by Sean Maguire.
Substitution, Middlesbrough. Marcus Tavernier replaces John Obi Mikel.
Sean Maguire (Preston North End) wins a free kick in the defensive half.
Foul by John Obi Mikel (Middlesbrough).