Fulham striker Aleksandar Mitrovic scored a dramatic late winner as Serbia booked their place at next year’s World Cup and condemned Portugal to the play-offs.
Hosts Portugal only needed a draw to qualify and looked to have done enough, with Renato Sanches’ opener cancelled out by Dusan Tadic’s equaliser.
Mitrovic, who started the game on the bench, was sent on at half-time but Portugal were wise to his threat and kept him largely quiet.
However, the home side let their concentration slip in the final seconds and Mitrovic pulled away from his marker to meet Tadic’s deep ball and send a downward header into the back of the net.
The goal prompted wild celebrations on the bench and on the pitch from the Serbia players and staff while the Portuguese team stood in disbelief with the home crowd silenced.
Serbia finish top of Group A with 20 points, three more than Portugal, whose hopes of playing in Qatar next year rest on two rounds of play-offs in March.
The defeat also ended Portugal’s unbroken winning run in home World Cup qualifiers which had stretched back to October 2013.
It had looked like being a long night for the visitors after they fell behind inside just two minutes when Sanches finished confidently after Bernardo Silva had won possession.
But Serbia did not let their heads drop and deservedly equalised when Rui Patricio failed to keep out Tadic’s shot, which crept over the line.
Cristiano Ronaldo, himself familiar with scoring late goals with Manchester United this season, was quiet and came closest with a free-kick in the first half.
Instead it was Mitrovic who provided the drama in the closing stages as his header secured a famous win for Serbia.
- 1Rui Patrício
- 20CanceloBooked at 8mins
- 6José Fonte
- 4Rúben Dias
- 5Tavares Mendes
- 16Renato SanchesBooked at 67minsSubstituted forNevesat 84′minutes
- 13DaniloSubstituted forAndré Silvaat 90+2′minutes
- 8João MoutinhoBooked at 61minsSubstituted forAlves Palhinha Gonçalvesat 64′minutes
- 10Bernardo SilvaSubstituted forBruno Fernandesat 64′minutes
- 7Cristiano Ronaldo
- 21JotaSubstituted forSequeiraat 83′minutes
- 2Nélson Semedo
- 9André Silva
- 11Bruno Fernandes
- 12Malheiro de Sá
- 14William Carvalho
- 15da Conceição Leão
- 17Gonçalo Guedes
- 19Alves Palhinha Gonçalves
- 22Meireles Costa
- 4MilenkovicBooked at 70mins
- 21VeljkovicSubstituted forSpajicat 65′minutes
- 2PavlovicBooked at 66mins
- 14ZivkovicSubstituted forRadonjicat 69′minutes
- 8GudeljBooked at 13minsSubstituted forMitrovicat 45′minutesBooked at 90mins
- 17KosticSubstituted forJovicat 89′minutes
Match ends, Portugal 1, Serbia 2.
Second Half ends, Portugal 1, Serbia 2.
Corner, Serbia. Conceded by Bruno Fernandes.
Attempt missed. Cristiano Ronaldo (Portugal) left footed shot from outside the box is too high. Assisted by João Cancelo.
Substitution, Portugal. André Silva replaces Danilo Pereira.
Aleksandar Mitrovic (Serbia) is shown the yellow card for excessive celebration.
Goal! Portugal 1, Serbia 2. Aleksandar Mitrovic (Serbia) header from the centre of the box to the top left corner. Assisted by Dusan Tadic with a cross following a corner.
Corner, Serbia. Conceded by Danilo Pereira.
Attempt saved. João Palhinha (Portugal) header from the right side of the box is saved in the top centre of the goal. Assisted by Bruno Fernandes with a cross.
Substitution, Serbia. Luka Jovic replaces Filip Kostic.
Corner, Portugal. Conceded by Uros Spajic.
Substitution, Portugal. Rúben Neves replaces Renato Sanches.
Substitution, Portugal. João Félix replaces Diogo Jota.
Attempt missed. Aleksandar Mitrovic (Serbia) header from the centre of the box misses to the right. Assisted by Filip Kostic with a cross.
Corner, Serbia. Conceded by João Palhinha.
Dusan Vlahovic (Serbia) wins a free kick on the left wing.
Foul by João Cancelo (Portugal).
Corner, Serbia. Conceded by Nuno Mendes.
Foul by Sergej Milinkovic-Savic (Serbia).
Renato Sanches (Portugal) wins a free kick in the attacking half.