Portugal beat Serbia to claim first Euro 2020 qualifying win
Fernando Santos' side had started the defence of their title with two draws but goals from William Carvalho, Goncalo Guedes, Cristiano Ronaldo and Bernardo Silva put them second in Group B on five points from three games.
They are eight points behind leaders Ukraine, who top the group unbeaten having played five times after their 3-0 drubbing of Lithuania.
The hosts' goals came from Nikola Milenkovic and Aleksandar Mitrovic.
Carvalho opened the scoring following a defensive mix-up in the Serbian line-up just before half-time.
Bruno Fernandes crossed into the area, Serbia goalkeeper Marko Dmitrovic dropped the ball after colliding with his defenders and the Real Betis midfielder finished easily.
The visitors doubled their lead in the 58th minute when Fernandes fed Valencia's Guedes at the edge of the area.
The forward then worked his way past Milenkovic, leaving the right-back on his knees, before beating Dmitrovic with a powerful high shot.
Portugal's advantage was halved with 22 minutes remaining as Milenkovic made up for his earlier mistake to head home a Dusan Tadic corner.
Felix then came off the bench with 20 minutes remaining for only his second international appearance, and 10 minutes later Ronaldo made it 3-1, Bernardo Sliva playing in a through ball which the Juventus forward poked past Dmitrovic.
Mitrovic pulled another goal back with six minutes to play when he smashed past Rui Patricio with a right-footed effort.
But Silva made sure of the points seconds later, smoothly beating Dmitrovic and capping a deserved win.
On Tuesday Portugal head to winless Lithuania and Serbia travel to lowly Luxembourg, who sit above them in Group B on goal difference.