Liverpool's Diogo Jota scored twice for Group A favourites Portugal but they were denied victory by gutsy Serbia in their World Cup qualifier.
Jota scored with two headers courtesy of crosses from Bernardo Silva and Cedric Soares to give Portugal a 2-0 lead after 36 minutes.
But Serbia's Aleksandar Mitrovic scored his third goal in two games before Filip Kostic slotted in.
Cristiano Ronaldo had a stoppage-time effort cleared off the line.
The Juventus forward thought he had scored with his angled shot and was aghast when the officials ruled he had not. There was no goalline technology available for the match.
Portugal's all-time leading scorer was booked for protesting, and after the final whistle threw his captain's armband to the turf and stormed down the tunnel at the Rajko Mitic Stadium in Belgrade.
Also in stoppage time, Serbia were reduced to 10 men when Nikola Milenkovic was shown a straight red for a foul on Porto's Danilo Pereira.
Mitrovic effort shortly after the break saw him become Serbia and the former Yugoslavia's all-time leading goalscorer. The Fulham forward's 39th goal moved him one clear of former Yugoslavia player Stjepan Bobek.
Portugal coach Fernando Santos also reached a milestone - 1,000 games as head coach at club and international level.