Portsmouth 0 Man City 0: Portsmouth's third goalless draw in their last four home matches ensured their opponents Manchester City stay above them in third place in the Barclays Premier League.
There were no missed penalties this time - as against Liverpool and West Ham, which cost Pompey vital points - but Glen Johnson and £6 million substitute David Nugent both hit the woodwork.
Portsmouth nonetheless chalked up their eighth successive league game without defeat - and City deserved their point too.
Sven-Goran Eriksson's men made a solid recovery from their last away trip in the league - when they shipped six goals at Chelsea - and the passing and movement of Brazilian pair Elano and Gelson, on his league debut, was a joy to watch.
But ultimately it was young goalkeeper Joe Hart's skills that kept City in the contest.
Pompey were first into their stride in an absorbing first half.
Benjani Mwaruwari headed over from Johnson's cross; Kanu's fierce shot from a Benjani pass forced Hart to push aside for a corner, and then Sean Davis fired narrowly over - all inside the first three minutes.
More Benjani magic down the right soon forced another corner, but Hart confidently caught Niko Kranjcar's delivery.
Davis had to make a good block to deny a goalbound shot from outside the area by Gelson, whose first pass had a been a beauty down the left - which the overlapping Javier Garrido failed to capitalise upon.
Kranjcar's shot was just too high after a lovely exchange between Sulley Muntari and Noe Pamarot - but at the other end David James had to be alert to smother Martin Petrov's zipping left-wing cross.
Johnson's low blast on 20 minutes was another test for Hart. But he held on well, and City were happy to keep Pompey at long range.
When they got closer Richard Dunne executed a vital tackle - at the expense of a painful knock - on Kranjcar, who was just about to shoot from Kanu's lay-off.
Dunne was left exposed by City's first serious slip in defence on 34 minutes when, with Kanu causing havoc and backing in, Dietmar Hamann gave the ball away to Johnson. The right-back surged past Dunne to hit a cracker which Hart superbly palmed against the bar and away.
After Vassell was ruled offside trying to put the finishing touches to an Elano-Petrov link, Kranjcar cut in from the left and drilled a low drive that was deflected beyond Hart but also his far post.
Petrov should have done better at the other end on 40 minutes, shooting straight at former City goalkeeper James after being left unmarked 18 yards out to hit a Vassell cross from the right.
Neither defence could take a breather.
Benjani's battle with returning England ace Micah Richards was a superb contest, punctuated by handshakes with both players electing to put the gloves on against the November chill.
Kanu, making is first start since a knee injury in mid-September, was at his elusive, ball-juggling best.
The only apparent weakness for Pompey was on the right, where John Utaka failed to shine after a glorious solo strike at Newcastle last week. Old favourite Matt Taylor replaced him for the second half, to loud cheers.
Taylor's header just missed, but it was a big blow for Pompey when Kanu limped off just after the hour - even though Nugent did his best to become the hero.
His thundering shot in the 72nd minute came back off a post and miraculously did not hit the diving Hart as it rebounded clear.
Earlier, Vassell had the chance to win it when he slid in on Petrov's cross from another delicious ball by Elano - only for ex-City defender Sylvain Distin to do just enough to put off is old team-mate.
Distin was booked for pulling down the increasingly lively Vassell just before Nugent's near-miss, but Petrov's free-kick was a damp squib
Nugent, still looking for his first Premier League goal, featured again when he slipped Johnson in for a shot which Hart at first fumbled. But the goalkeeper still had the presence of mind to get up and foil Benjani's follow-up.