Cristiano Ronaldo scored his 94th goal for Portugal to help the defending European champions brush aside Luxembourg 3-0 in Lisbon.
Ronaldo pounced on a bad pass near the area and chipped the goalkeeper in the 65th.
Bernardo Silva put Portugal in control from the 16th. With Portugal 2-0 ahead, substitute Goncalo Guedes added a third goal.
Ukraine kept its lead of Group B after midfielder Ruslan Malinovskyi scored twice in a 2-0 victory over Lithuania.
Unbeaten Ukraine has 16 points. Portugal has 11, ahead of Serbia with seven. Both Portugal and Serbia have one more game to play than Ukraine.
Portugal plays at Ukraine on Monday.
FRANCE ON PACE
World champion France and Turkey both took big steps in qualifying with wins which consolidated their Group H lead.
Olivier Giroud scored to help France earn a hard-fought 1-0 win at Iceland, while Turkey needed a 90th-minute goal from Cenk Tosun to push it past Albania 1-0 in Istanbul.
Both France and Turkey have 18 points. Iceland, the revelation of Euro 2016, is in third place with 12 points and at risk of missing the 2020 edition.
France hosts Turkey at Stade de France on Monday.
Giroud converted a penalty in the 66th after a foul earned by Antoine Griezmann. Giroud set up Griezmann by heading down a long ball for his fellow forward, who was then fouled by Iceland's Ari Freyr Skulason.
France midfielder N'Golo Kanté was ruled out of the match reportedly for a hamstring problem.
It was game No. 200 for Didier Deschamps as player and now coach of France. He played 103 games for France and has directed 97 from the dugout.
Steve Mandanda played in goal for France in place of Hugo Lloris, who is out with a broken elbow.
FIRST WIN
Andorra made history of its own in Group H with a 1-0 win over Moldova, the first time the tiny mountainous nation had avoided defeat in 57 European qualifiers.
Midfielder Marc Vales headed in the Andorran goal in the 63rd after Moldova had been reduced to 10 men.
Andorra, with fewer than 80,000 residents nestled in the Pyrenees between Spain and France, had lost all 56 of its previous games in European qualifying.