Silva, who had a poor season in Italy with AC Milan before joining Sevilla on loan in August, controlled and steered in Bruma's cross in the 48th minute.
Portugal were without Cristiano Ronaldo, excused from international duty and pictured relaxing with his family on a yacht in St Tropez.
Yet Fernando Santos' side still had the better of this League A Group 3 match.
The win took them to the top of the group on three points, two clear of Poland and Italy.
Roberto Mancini's side, showing nine changes from the team who drew their Nations League opener 1-1 with Poland in Bologna on Friday, looked disjointed for much of the night in Lisbon.
Mancini left former Manchester City and Liverpool striker Mario Balotelli out of the squad altogether, and retained only goalkeeper Gianluigi Donnarumma and Chelsea midfielder Jorginho from Friday's starting line-up.
Donnarumma, the AC Milan teenager, was fortunate not to concede just before the half-hour mark, fumbling Bruma's header under pressure, then watching as Bernardo Silva's drive goalwards was cleared off the line by Alessio Romagnoli.
The keeper redeemed himself in the second half after his team went behind, though, with a flying save to tip away Manchester City forward Silva's 20-yard angled shot, and was sharp again late on to stop substitute Renato Sanches' low shot.
Portugal should have been in front before they did score; Bryan Cristante deflected a Mario Rui cross against his own bar just after the half-hour mark, and the home side were then denied a penalty when Domenico Criscito blocked off Pizzi inside the area - with Scottish referee Willie Collum declaring it a fair challenge.
Italy were better in the closing stages, once Domenico Berardi and Emerson Palmieri came on, but without creating any clear chances.
Comments