Jermain Defoe handed Tony Adams his first victory as Portsmouth boss in a dramatic finish at Sunderland.
The England striker converted an injury-time penalty to snatch all three points after the Black Cats had failed to make the most of a host of opportunities.
Algerian midfielder Nadir Belhadj had earlier blasted a 51st-minute shot past keeper Marton Fulop to cancel out Djibril Cisse's opener just four minutes into the game.
Cisse was twice denied by David James before the break and then had a second-half header disallowed for offside, while Kieran Richardson hit a post with the keeper beaten.
But Pompey rallied after the restart to make a much more even contest of it and leave the bulk of a crowd of 37,712 frustrated.
Sunderland have now recorded only one win in seven Barclays Premier League games, while for the visitors, the victory was their first in all competitions in six.
A fortnight ago, the Stadium of Light had basked in the glory of a first home derby victory over arch-rivals Newcastle in 28 years, although the mood of the fans arriving for Saturday's game had been changed markedly by events since.
If last weekend's defeat at Chelsea had not been unexpected, the margin of it - 5-0 - had, and so too had been the 1-0 reverse at promoted Stoke which preceded it.
In the eyes of many, Pompey's trip north represented the latest in a series of must-win affairs for Keane's men, and to that end, the Irishman could hardly have been more pleased with the way they set about their business.
Cisse's re-introduction - the Frenchman had found himself sitting on the bench at Stamford Bridge after being among a trio of players disciplined over their presence at Newcastle striker Obafemi Martins' birthday party last week - was one of five changes to the team, but one which proved hugely effective.
Indeed, the former Liverpool frontman could have left the pitch at half-time with his name already on the match-ball.
Cisse needed just four minutes to claim second goal in successive home games, running on to the recalled Andy Reid's perfect through-ball to slot past James.
The Sunderland pair repeated the dose 16 minutes before the break, but this time James, who had earlier parried a close-range header from the same man, made a fine save to keep his side in the game.
Pompey had been saved by the post when Richardson's left-foot shot from 20 yards had left the former England keeper wrong-footed, and it was with a sense of relief that Adams delivered his team-talk with the game still alive.
Keane's emotions would have been mixed with his side having performed well, but not having killed the game off.
They were utterly dominant in midfield where the quartet of Reid, Richardson, Dean Whitehead and Steed Malbranque ran rings around their Pompey counterparts, while Cisse embarrassed Sol Campbell and Sylvain Distin at regular intervals.
The visitors mustered only a handful of attempts on goal, the best of them a fifth-minute Defoe shot which was blocked by Anton Ferdinand, and Campbell's tame overhead kick.
Keane replaced Daryl Murphy with El-Hadji Diouf at the break, although it was Pompey who resumed in positive mood.
Full-back Noe Pamarot wasted a good period of early pressure when he scuffed a long-range shot well wide within three minutes of the restart, although Phil Bardsley was little more accurate at the other end two minutes later.
However, Pompey were back in the game with 51 minutes gone when Belhadj collected Niko Kranjcar's pass and drilled a superb left-foot shot past Marton Fulop's despairing dive.
Had Defoe been able to summon up similar composure, Adams' side might have been ahead with the England striker shooting wide twice within seconds after creating space for himself on the edge of the box.
Cisse tested James with a first-time shot on the turn and then had a header correctly ruled out for offside as the home side re-grouped and launched a counter-offensive.
As the game entered its final 20 minutes, Sunderland were again in control, although Pompey, who had replaced Crouch with Kanu, continued to threaten on the break.
Defoe was denied by Fulop with three minutes remaining, but he made no mistake after Glen Jonson had been tripped by Diouf, sending the keeper the wrong way from the penalty spot to snatch victory.