The former Manchester United and Real Madrid star scored twice to reach 101 international goals, becoming only the second player in history to reach a century of strikes on the world stage.
Veteran Sweden midfielder Gustav Svensson was sent off just before half-time for collecting a second yellow card.
From the resulting free-kick, Juventus star Ronaldo fired the ball into the top corner to bring up his landmark century.
After 72 minutes, Ronaldo curled in a second goal from the edge of the penalty area to leave him just eight goals behind Iran’s Ali Daei, who holds the record at 109 strikes.
Portugal have two wins from their opening Nations League fixtures and top the table ahead of France, who beat Croatia 4-2 in Saint-Denis.