Cristiano Ronaldo's hopes of playing in a record-equalling fifth World Cup hang in the balance after Serbia stunned Portugal 2-1 in Lisbon to qualify for the 2022 World Cup.
Spain and Croatia did secure their places in Qatar on Sunday thanks to 1-0 wins over Sweden and Russia respectively.
Ronaldo already holds the record of playing in five European Championships and looked well on course for another milestone as Portugal stormed out of the blocks to open the scoring after just two minutes through Renato Sanches.
However, Serbia bounced back to dominate the remainder of the first half and deservedly levelled when Dusan Tadic's strike squeezed in off the post after Dusan Vlahovic had hit the woodwork.
Ronaldo was kept quiet as another chance to score his 800th career goal came and went.
Instead, it was Aleksandar Mitrovic who grabbed the vital goal as stoppage time approached.
Just over a year ago, Mitrovic was the villain for his country as he was the only player to fail to score in a penalty shootout against Scotland that saw Serbia miss out on Euro 2020.
However, the Fulham striker made amends in dramatic fashion when he steered in Tadic's header at the back post.
"It was an amazing game," said Mitrovic. "We were the better team today in every aspect of the game."
Portugal must now navigate two tricky one-off playoff matches in March to maintain their record of qualifying for every major tournament since the 1998 World Cup.
"We must apologise to the Portuguese but my team will be at the World Cup, that's guaranteed," said defiant Portugal coach Fernando Santos.
"We will have to prepare well to beat our opponents in March and to get to Qatar. But I always trust my players."