Cristiano Ronaldo (right) of Portugal reacts after losing to Serbia on Sunday in Lisbon, Portugal. Photo: VCG
Cristiano Ronaldo's hopes of playing in a record-equaling 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 leveled 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 apologize 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."
Spain made sure they avoided the playoffs as Alvaro Morata's goal four minutes from time ended Sweden's resistance in Seville.
The Swedes' shock 2-0 defeat to Kazakhstan on Thursday had handed Spain pole position in Group B, meaning La Roja just needed a point to qualify.
'Huge weight off' Luis Enrique's men were grateful for that reprieve as for a long time a repeat of the stalemate between the sides when they met in the group stages of Euro 2020 was on the cards.
Morata was the fall guy that night for missing a host of chances, but made his mark off the bench with a calm finish after Robin Olsen had turned Dani Olmo's blistering shot onto the bar.
"To be honest, it is a huge weight off my shoulders," said Luis Enrique. "I felt much more pressure in these games when people think it is easy to get a result than in the Euro or the Nations League."
Spain's Alvaro Morata (No.7) celebrates after scoring against Sweden on Sunday in Seville, Spain. Photo: VCG
"Destiny was good to me today," said Morata, who in June said he and his family had received death threats during the Euros.
"It had to be here, where I went through some really difficult experiences. I feel so lucky and blessed that I helped my team to be in the World Cup. But we only did what we are supposed to do. Spain have to be in every World Cup."
Croatia also needed a late winner as an own goal from Fedor Kudryashov snatched qualification from Russia in a battle in boggy conditions in Split.
Finalists at the last World Cup in 2018, Croatia looked bound for the playoffs as they toiled on a waterlogged pitch against a resolute Russian defense. But Kudryashov's error saw them snatch top spot from the visitors eight minutes from time.
"It was a difficult match from the beginning because of the rain. We never gave up, we were patient and I think we won deservedly. We are the best team in this group," said Croatia captain Luka Modric.
Germany had long since booked their place in Qatar, but rounded off their qualifying campaign with a 4-1 thrashing of Armenia as Ilkay Gundogan scored twice.