Portsmouth striker Yakubu scored his sixth goal of the season to condemn Manchester United to their first defeat since the opening day as Sir Alex Ferguson's side lost yet more ground in the title race.
Yakubu netted to wrap up the points 18 minutes from time after David Unsworth had opened the scoring with a 53rd minute penalty.
United could have been 4-0 up inside the first ten minutes but for a host of missed chances.
Teenage winger Cristiano Ronaldo could have bagged a first-half hat-trick as the Red Devils tore into Pompey early on.
Firstly he shot into the side-netting with only Pompey keeper Shaka Hislop to beat after great play by Ryan Giggs and Wayne Rooney.
Ronaldo then forced the Trinidadian into a fumbling save 30 seconds later after a breathtaking breakaway move.
Lomana LuaLua then had a shot charged down by Rio Ferdinand and when the ball broke to the other end of the pitch, Ronaldo's fierce right-foot drive was only just held by Hislop.
Alan Smith, standing in for the banned Ruud van Nistlerooy, put a curling shot over the bar in the 17th minute before Portsmouth slowly battled their way back into the match.
Yakubu forced Roy Carroll into the action in the 18th minute with a close-range shot.
Czech midfield Patrik Berger fired a 20-yard free-kick towards goal after Phil Neville had handled Yakubu's shot while Nigel Quashie went close to scoring a breathtaking goal with a 40-yard curler.
United defender Mikael Silvestre produced a dramatic goal-line clearance to keep out LuaLua's close-range effort.
Ronaldo wasted another glorious chance in the 39th minute. United wonder boy Rooney picked out the Portuguese international with a delightful cross-field pass but he volleyed wastfully wide at the right-hand post.
Carroll then pulled off a superb one-handed save to keep out Amdy Faye's volley on the stroke of half time.
But there was no let-off for United seven minutes after the restart when Unsworth scored from the penalty spot.
Ferdinand was carelessly dispossessed by Portsmouth substitute Ricardo Fuller, who was on for the injured Diomansy Kamara.
Argentine defender Gabriel Heinze then put in a reckless challenge on the Jamaican in a bid to make up for Ferdinand's error and the referee had no option but to point to the spot.
Unsworth coolly sent Carroll the wrong way, finding the middle of the net to notch his second goal of the season.
Smith should have equalised within two minutes of United falling behind.
Giggs' cross from the left found Ronaldo who headed against the crossbar before Smith fired the rebound over the bar.
That summed up United's afternoon and even the arrival of captain Roy Keane as a 64th minute substitute could not lift the visitors.
Yakubu put the game beyond Ferguson's side in the 72nd minute. Hislop saved Giggs' effort before picking out Yakubu with a long throw. The Nigerian placed his shot past Carroll and into the bottom left-hand corner of the net from 12 yards out.
MAN OF THE MATCH: David Unsworth (Portsmouth) – The former Everton stalwart was steady at the back and scored the all-important opener from the spot.