The City midfielder was unable to shake off a suspected ankle complaint sustained minutes after Thorgan Hazard’s eventual winner late in the first half, and was forced off inside two minutes of the restart.
In a cagey opening, the Selecao went close to breaking the deadlock just after the 20-minute mark when Cristiano Ronaldo stung the palms of Thibault Courtois from a free-kick, denying the Juventus men what would've been a record-breaking 110th international goal.
At the other end, De Bruyne had a hand in the Red Devils’ first real opportunity, with the City midfielder playing a neat one-two with Thomas Meunier on the right flank.
The full-back tried his luck from the edge of the box with a trivela, but his effort was never going to trouble Portugal’s number one, Rui Patricio.
However, De Bruyne and co. didn’t have to wait much longer for the opener, with Hazard grabbing the game’s only goal in style.
The Dortmund winger picked up play on the edge of the Portugal box and smashed a phenomenal swerving effort past the despairing dive of Patricio and into the far corner of the net.
Roberto Martinez’s side were in the ascendancy, but received a blow when De Bruyne succumbed to the injury that he’d sustained towards the end of the first half.
The midfielder had raced into space as part of a swift counter, but his ankle was caught under the tackle of the rapidly retreating Joao Palhinha and, despite coming out for the second half, he was withdrawn soon after the restart.
Bernardo followed his City teammates inside ten minutes, bringing a typically industrious display to a close before the hour as Fernando Santos rolled the dice in search of the elusive equaliser.
A second half which at times threatened to boil over, with both sides guilty of committing several needless fouls, finally burst into life with ten minutes to play.
And it was Dias who sparked that revival when he rose highest from a corner, but his powerful header was straight at Courtois, who showed quick reactions to thwart the City defender.
Soon after, Raphael Guerreiro was inches from handing the Selecao the elusive equaliser when his half-volley smacked off the far post and away from danger after a looping ball into the box from the right.
But it wasn't to be and, despite Dias, Bernardo and co.'s best efforts, their defence of the European Championships is over at the last 16 stage.
Belgium's reward for dethroning Portugal is a last eight clash with Roberto Mancini’s Italy on Friday 2 July in Munich.
Earlier on, Nathan Ake's tournament was brought to an end as the Netherlands were beaten 2-0 by the Czech Republic.
The City defender was an unused substitute as a second-half sending off for Oranje defender Matthijs De Light turned the game on its head, allowing the Czechs to take advantage with two goals in the final 25 minutes.