Portsmouth 2 Newcastle 1:Portsmouth maintained their drive for a Uefa Cup spot as Benjani Mwaruwari and Matt Taylor struck to sink Newcastle at Fratton Park.
Benjani opened the scoring in a lively Barclays Premiership encounter after just seven minutes before Taylor doubled the lead with a stunning long-range strike after the break.
Emre pulled one back from the penalty spot as Newcastle pressed hard in the second half, with Obafemi Martins hitting the bar, but Pompey held on.
Yet Pompey also hit the woodwork in the first half with Kanu thinking his shot had bounced down over the line.
Newcastle - having scored just once in six games - started well and could have been two up in the first three minutes.
David James had to push over a shot from Martins and the home defence went missing again from the resulting corner, only for unmarked Craig Moore to scuff his intended volley across goal.
Sean Davis wasted a free-kick for Pompey, over-hitting his cross from the left after Moore tripped Kanu on the edge of the area.
But the home side took the lead in the seventh minute thanks to the persistence of Benjani, who dug the ball out of his feet after Taylor's pass found him in the area.
He held off Moore and Steven Taylor before turning to rifle a low shot past Harper.
It was only his fifth goal this season, and his first since New Year's Day, but the home crowd roared their appreciation of their hard-working £4.4million record signing.
The setback seemed to spread panic through the Newcastle defence and in the 16th minute Kanu latched onto a Lauren cross and sent a fierce drive crashing against the underside of the bar.
Video replays seemed to suggest the ball actually crossed the line and Kanu had his arm in the air celebrating a goal but referee Chris Foy played on.
Gary O'Neil also shot just wide as Newcastle struggled to keep pace but the Magpies almost scrambled an equaliser in first-half injury time as Lauren cleared Martins' header off the line.
Newcastle then started the second half with intent and went close to equalising when Martins broke into the box and screwed a left-foot shot wide from Emre's through-ball.
Martins chipped the ball over Sol Campbell to create another opportunity for Damien Duff but the former England centre-half chased back to allow James to gather.
James was then caught out as Martins thumped a header against the bar from a Milner cross but Pompey cleared and doubled their lead with Taylor's brilliant strike just before the hour.
James' long kick was headed back only as far as Taylor 30 yards out and he unleashed a fierce left-footed drive that bounced in the area and rocketed past Harper.
Newcastle were not deflated and got themselves back into the game when Emre struck from the penalty spot on 68 minutes.
Emre beat James to his left after Milner had brought the ball down in the area and been tripped by Dejan Stefanovic.
The successful penalty meant James would have to wait longer to set the Premiership record for most clean sheets but the former Liverpool goalkeeper was alert to deny Martins again 10 minutes from time.
Play quickly switched to the other end and Taylor was inches away from settling the game with a low shot across goal.
Newcastle finished on the attack but time ran out to leave Glenn Roeder's side frustrated again.