The 2019 champions led in Lisbon when Bernardo Silva picked out Manchester City team-mate Cancelo, who rifled home from a tight angle.
Silva then played a good through ball to Goncalo Guedes, who found the bottom corner for Portugal’s second goal.
Captain Cristiano Ronaldo failed to add to the two goals he scored in their 4-0 win over Switzerland last time out.
Portugal – who have only lost one game in the tournament’s history – lead Group A2 on seven points, two points above Spain, who beat Switzerland 1-0.