Fernando Santos’ side sit second but are eight points behind Group B leaders Ukraine after two frustrating opening draws against the table toppers and Serbia in Lisbon last time out. The Ukraine have played two more games but the Euro 2016 champions were in need of a result to get their campaign off the ground, and they got it with a performance inspired by Manchester City’s Bernardo Silva.
He scored the fourth and laid on an 89th international goal for Cristiano Ronaldo from 159 caps, although having led 2-0 on the hour, Portugal were made to fight for the three points after the dogged hosts dug in and reduced the lead to 2-1 and then 3-2.
Portugal led when William Carvalho profited from a mix-up in the Serbia box to prod home. Goncalo Guedes fired in a brilliant second to seemingly make the game safe but Nikola Milenkovic was then left free to head in and make it 2-1. Ronaldo chipped in to make it 3-1 but Serbia came back again when Aleksandar Mitrovic thumped into the roof of Rui Patricio’s net.
Minutes later though, Silva struck a killer blow when he found the bottom corner to finally seal the win.
Rui Patricio 6: Fairly untested until the home side’s goal. Could have maybe done better for Mitrovic’s strike although it arrowed into the top corner.
Nelson Semedo 5: Barcelona full-back had a quiet game. Didn’t do much wrong but didn’t stand out in a positive way either. Failed to make impact going forward that Guerreiro did.
Ruben Dias 6: Put himself about and was generally commanding until Mitrovic came to life. Perhaps showed him too much of the goal for late strike but in truth did little wrong.
Jose Fonte 7: Thunderous challenge on Tadic then slid in to deny Mitrovic who was offside in any case. Now 35 but doesn’t look out of place on international stage.
Raphael Guerreiro 6: Solid outing down the left, diligent in defence but also making forays forward often. Teed up Silva for the crucial fourth goal.
Danilo 5: Patrolled the midfield looking to add his bite to a tetchy encounter. Struggled to keep tabs on a marauding Tadic though.
Bernardo Silva 9: Buzzed around with his usual energy and intent, had a role in side’s second goal before through ball found Ronaldo. After Serbia’s second he killed the game with an expertly executed low drive to make it 4-2.
Bruno Fernandes 7: Astute cross caused havoc in home defence as Portugal profited to go ahead. Worked well in tandem with Silva and surely can’t be long until a big club snaps him up from Sporting Lisbon.
William Carvalho 8: Lucky not to see yellow for a dangerous high boot early on. Then in right place to fire in when opportunity arose. Relished the physical battle with tough Serbia side.
Goncalo Guedes 7: Lashed a loose clearance well over. After the break made game comfortable with rifled finish after brilliantly tricking his way past Maksimovic.
Cristiano Ronaldo 7: Ordered to his feet after an early dive. Came to life in second half with a fizzing curler that whizzed just wide. Free-kick minutes later had same result. Intelligent run and sumptuous chip over Dmitrovic secured points, although he looked offside.
Joao Felix 6: Exciting Atletico Madrid starlet got 20 minutes but although he looked bright he made little impact. Sent a deflected late shot wide.
Joao Cancelo 6: Man City new boy replaced Semedo but had trouble keeping an improving Serbia from coming forward.
Joao Moutinho N/A: Brought on late to replace Fernandes and try and help Portugal see out the victory.