After Bernardo Silva opened the scoring for Portugal in the first half, Ronaldo’s lob in the second half moved the Juventus forward within one goal of the 700-milestone.
Ronaldo’s strike was also his 94th international goal, with the Portugal captain bidding to become only the second player after Iran’s Ali Daei to reach a century for his country.
Goncalo Guedes sealed the win with an 89th-minute effort.
Ukraine sank Lithuania 2-0 to stay top of the group on 16 points from six games, followed by Portugal who are on 11 points from five matches.
Third-placed Serbia have seven from five, Luxembourg have four points from six games and Lithuania are bottom with one point from six matches.
Ukraine, who will qualify for Euro 2020 if they avoid defeat against Portugal on Monday, overpowered Lithuania thanks to a superb brace from Ruslan Malinovskiy.
The midfielder broke the deadlock with a crisp left-footed shot after a one-two with Junior Moraes and made it 2-0 with a brilliant free kick around the wall into the far corner.
In Monday's other fixture, Serbia must win in Lithuania to retain any realistic hopes of qualifying.
Additional reporting from Reuters