Cristiano Ronaldo went off injured as Portugal was held to a 1-1 draw by Serbia in a frantic EURO 2020 qualifier in Lisbon.
A goalless draw with Ukraine in its opening Group B fixture put the pressure on Portugal heading into the encounter, and its task was made more difficult when Ronaldo appeared to suffer a hamstring injury before the half-hour mark.
Dusan Tadic's penalty had put Serbia ahead early on, though Portugal overcame Ronaldo's injury to level through Danilo Pereira's rasping 42nd-minute strike.
Portugal was awarded a spot-kick with 17 minutes remaining only for referee Szymon Marciniak to change his mind after consultation with his assistant and Serbia held firm to frustrate its opponent.
William Carvalho had a goal disallowed against Ukraine and should have put Portugal ahead inside four minutes here, but he failed to apply a finish from point-blank range.
Portugal was made to pay for Carvalho's miss three minutes later, Tadic making no mistake from the spot after Rui Patricio barged into Mijat Gacinovic, though Serbia's lead would have been short lived if not for a pair of superb saves from Marko Dmitrovic.
Ronaldo's injury looked to have knocked the wind out of Portugal's sails, but it drew level when Danilo picked out the top-right corner with an outstanding strike from 30 yards.
The reigning European champion failed to recapture the same intensity after the restart and was fortunate that Adem Ljajic blazed over in the 56th minute, while Nemanja Maksimovic made a vital block to deny Andre Silva at the other end.
Portugal looked to have been handed a lifeline when Marciniak initially deemed Antonio Rukavina handled in the area, but the assistant referee came to Serbia's rescue when he instructed the official to change his decision.
The host's frustrations only grew in stoppage time when Bernardo Silva and Pepe squandered chances to secure a dramatic win.