A late penalty winner from Portsmouth's Matthew Taylor moved his side out of the Premiership's bottom three after they narrowly beat Sunderland.
Striker Todorov netted Pompey's equaliser against Sunderland
Pompey had been punished for not taking their chances when Tommy Miller tapped in for the Black Cats after 70 minutes.
But Svetoslav Todorov quickly equalised with a rising shot and Pompey desperately pressed for a winner.
Their efforts were rewarded when Kevin Kyle hand-balled and Taylor kept his cool to slot home the spot-kick.
Sunderland were playing for pride with their relegation already confirmed but they quickly had the home side on the back foot early on.
A Danny Collins header from a Black Cats corner caused panic in the Pompey box before the ball was scrambled clear.
George McCartney seemed to escape giving away a penalty for handball at the other end as a deflected Andres D'Alessandro cross dropped into the visitors' box.
But Pompey were struggling to overpower their stubborn opponents who looked in the mood to deal a damaging blow to the south-coast side's survival fight.
Keeper Dean Kiely was twice forced to save well-struck shots from Sunderland duo Dean Whitehead and Tommy Miller.
Portsmouth did carry a threat on goal but their main chance fell to struggling striker Benjani Mwaruwari who has not scored since his arrival at the club in January.
He did not lack a work ethic but a clinical edge in front of goal was missing - he headed tamely at the far post before cutting inside and shot straight at a defender when a first-time shot may have been more appropriate.
The Zimbabwe international's poor finishing seemed to transmit itself to fellow striker Todorov, who twice missed good chances after the break.
He sidefooted over at the far post before scuffing a shot too close to keeper Kelvin Davis after being put through on goal.
Pompey's desperation for a win made for an entertaining game as they increased the pressure on their rivals in search of a breakthrough.
And, after Davis saved an angled Mwaruwari shot, the Sunderland keeper pulled off a double save to further frustrate the home side.
Firstly, he kept out a Davis low shot before quickly regrouping to block at the feet of Todorov as he tried to convert the loose ball.
But Pompey's effort left them exposed at the back and they duly fell behind when a Sunderland counter-attack resulted in Miller tapping in after an Arca cross.
The visitors' lead was shortlived as Todorov found the top right corner with a 15-yard shot and Kyle's silly handball allowed Taylor the chance to score and earn a win for Pompey.
Portsmouth boss Harry Redknapp:
"When we went 1-0 down when they hit us on the break I could see all our hard work over the last few weeks slipping away.
"We have 17 points out of a possible 24 and that is almost championship form.
"We're relieved with the win and it is a great result for us. Matters are now in our own hands and if we win our last two games we will stay up."
Sunderland boss Kevin Ball:
"This was a game which we should have won because Portsmouth were there for the taking.
"I cannot put into words how angry I am. We have capitulated and conceded two goals after taking the lead.
"Some of the players are just doing enough but they should be doing more for the red and white shirt."
Portsmouth: Kiely, Priske, Primus, Stefanovic, Taylor, O'Neil, Davis, Hughes (Routledge 76), D'Alessandro (Diao 88), Todorov (Pamarot 90), Mwaruwari.
Subs Not Used: Ashdown, Karadas.
Booked: Stefanovic, Hughes.
Goals: Todorov 73, Taylor 88 pen.
Sunderland: Davis, Hoyte, Breen, Danny Collins, McCartney, Miller, Whitehead, Arca, Stead (Nosworthy 45), Kyle, Brown.
Subs Not Used: Joe Murphy, Caldwell, Woods, Leadbitter.
Booked: Brown, Breen, Kyle.
Goals: Miller 70.
Ref: M Dean (Wirral).