Silva put Portugal in front after 26 minutes, netting from Bruno Fernandes' headed assist, before captain Ronaldo got his 133rd international goal when he doubled the lead 11 minutes later with a first-time shot after Rafael Leao hit the post.
Piotr Zielinski pulled a goal back for Poland in the 78th with a powerful strike into the roof of the net before home defender Jan Bednarek netted an own goal in the dying minutes.
Portugal continues to set the pace in League A Group One with nine points, three points clear of Croatia who came from behind to beat visitors Scotland 2-1 earlier on Saturday.
Poland, who beat Scotland 3-2 on the road in their opener before losing 1-0 in Croatia, are third with three points while the Scots have none so far.
--Reuters--