Portugal booked a spot in the semi-finals after a penalty shoot-out that saw Ricardo block three English shots. England played the last hour of the game with 10 men in a controversy-packed quarter-final.
Ricardo also topped England on penalty kicks in 2004
Portugal's 21-year-old star Cristiano Ronaldo scored the decisive spot-kick to hand Portugal a 3-1 shoot-out victory and shatter England's dream of a first World Cup for 40 years.
Even before the 120 minutes were up and Ricardo saved Portugal with a heroic shoot-out performance between the posts, not much went right for England coach Sven Goran Eriksson.
He watched star striker Wayne Rooney sent off dramatically and replaced a tearful David Beckham in the second half, a combination that left the rest of the England players shell-shocked after a closely fought first half.
Frank Lampard, Steven Gerrard and Jamie Carragher all saw penalties saved by Portugal keeper Ricardo while Simao and substitute Helder Postiga netted Portugal's other penalties.
Many will wonder if Rooney should have got yellow instead
English history repeats itself
Portugal, who beat England in a shoot-out at Euro 2004, will now face either France or Brazil in Wednesday's semi-final while England were left to contemplate their fifth exit on penalties in eight tournaments since 1990.
It was also the third time in three tournaments that England coach Eriksson had seen his side beaten by a team coached by Brazilian World Cup winner Luiz Felipe Scolari.
England had a good case for a penalty turned down by Argentinean referee Horacio Elizondo on 50 minutes when Beckham fired a cross into Nuno Valente's arm. Shortly after, Beckham, who seemed to be nursing a sore ankle, was taken out of the game for Aaron Lennon.
Lennon didn't take long to make an impact on the game and just when it looked as if Lennon's introduction might have turned the game England's way, Rooney saw red in a decision that is bound to be the subject of furious debate.
Rooney appeared to have been fouled by Portugal centre-half Ricardo Carvalho but as he battled to break clear he rashly sunk his studs into the defender's groin, sparking a short melee.
Eriksson switched up his line-up while Rooney was taking an early shower by bringing on Peter Crouch for Joe Cole.
The man advantage signaled the beginning of a Portuguese onslaught, and England had keeper Paul Robinson to thank for a superb save from Luis Figo on 78 minutes that kept them in the match.
Both teams had dangerous chances on goal in the second half, but the two keepers proved up to what the strikers could deliver and neither team was able to make a break-through, forcing the penalty shoot-out.