Middlesbrough continue to hold on to top-flight survival by their fingertips after a dramatic injury-time equaliser by on-loan striker Marlon King in a 1-1 draw.
Portsmouth had appeared to be strolling to victory thanks to Peter Crouch's crisp 30th-minute volley, with the home side anticipating being booed off by a frustrated crowd.
Instead, 10-man Boro secured what could turn out to be a lifeline with King's fierce strike after David James' top-class save fell to his boot.
Portsmouth had been good value, dominating throughout and manager Paul Hart will have been furious they allowed victory to escape.
That was even more the case given Boro had only just lost Matthew Bates to a red card for two bookings, the second for a wretched dive in search of an equaliser.
On the half-hour Portsmouth finally gained the lead. The goal was partially self-inflicted in that Boro fell asleep at a short corner, Glen Johnson picked up the ball and chipped a short pass for Crouch to smack home on the volley from the edge of the box.
As the home crowd's frustration increased, Bates went into the book for a nasty-looking high tackle on Niko Kranjcar.
Boro boss Gareth Southgate's final throw of the dice was to send on Afonso Alves - the Brazilian striker having missed the previous game due to illness. But Boro's fate looked sealed however when Bates picked up a second yellow for a blatant dive.
The game was two minutes into injury time when King grabbed his equaliser. James looked to have pulled off another tremendous save to keep out Tony McMahon's header only for King to volley home from eight yards.
Amazingly, Alves could have had an unlikely winner when put through one-on-one with James but the England keeper this time had the last word.
Copyright (c) PA Sport 2009, All Rights Reserved.