The Portuguese hold a two point advantage over Serbia, who will be kicking themselves after a late own-goal allowed hosts Republic of Ireland to secure a 1-1 draw.
The Portuguese did not need the absent Cristiano Ronaldo, who was suspended, as Bernardo Silva opened the scoring on 26 minutes before Andre Silva added a second five minutes later.
Liverpool forward Diogo Jota completed the job with a second-half header.
Manchester United recruit Ronaldo, who became the highest scorer ever in international football with two goals against the Republic of Ireland last week, was suspended after receiving a second yellow card of the qualifying campaign for ripping off his shirt as he celebrated his second goal in that game.
Portugal face Luxembourg in their next match on October 12.