Yussuf Poulsen gave the hosts a second-minute lead, but De Bruyne came off the bench at half-time to make his first appearance of the tournament after injury and teed up Thorgan Hazard to equalise before scoring the winner with a fine strike.
The match was paused after 10 minutes — a reference to Eriksen’s number 10 — for a minute’s applause for the Denmark midfielder, who suffered a cardiac arrest in his team’s game against Finland last weekend.
The 29-year-old Inter Milan player is recovering in hospital and will have a defibrillator implanted.
A section of fans in the 25,000 crowd held up a banner reading “All of Denmark is with you, Christian” as the match was halted.
“The only thing I’m disappointed by is the result, I didn’t expect much from this game, but I can’t describe the pride I feel about this squad,” said Denmark coach Kasper Hjulmand.
“Four days after almost losing one of their best friends, they get up and they play such a game, it’s just amazing.”
If the Danes were traumatised by Eriksen’s collapse or worried about facing the world’s top-ranked team, they did not show it.
Just after a minute, Pierre-Emile Hojbjerg picked up a misplaced pass by Jason Denayer and found Poulsen who took the ball inside the box and fired across Thibaut Courtois into the bottom corner.
At one minute and 39 seconds, it was the second fastest goal in European Championship history, trailing only Dmitri Kirichenko’s goal after 67 seconds as Russia beat eventual champions Greece in 2004.
Belgium coach Roberto Martinez said his team was overwhelmed by the atmosphere.
“The crowd gave a goal to the home team and that’s something we cannot afford to do,” said the Spanish coach.
“But then the way that we didn’t accept that in the second half, it is personality, it is character.”
Belgium started with De Bruyne, Eden Hazard and Axel Witsel on the bench, but Martinez sent them all into action after the break and their presence made all the difference.
“It’s over 300 caps of experience so you’re going to see that difference to know how to be able to be yourself, to keep doing the right things under immense pressure,” Martinez said.
Eriksen’s Inter Milan teammate Romelu Lukaku sprinted into the box on 55 minutes and found De Bruyne who set up Thorgan Hazard to equalise with a brilliant pass through the stunned Danish defence.
Lukaku, who scored twice as Belgium swept Russia aside 3-0 in the Group B opener, was also at the origin of Belgium’s second goal.
He started a series of one-touch passes involving the Hazard brothers that finally found De Bruyne who fired from outside the box with his left foot.
His low shot beat a diving Kasper Schmeichel at his near post, with De Bruyne immediately refusing any celebration out of respect to Eriksen.
“De Bruyne’s quality prevented us from winning the game,” said Hjulmand.
It was a game of two halves with the surprisingly dominant Danes pushing early on to make amends for a disappointing 1-0 loss to Finland in the opener marred by Eriksen’s collapse.
Courtois had to stop Joakim Maehle’s shot after a superb, mazy run in the box and then Daniel Wass’s header, while Martin Braithwaite headed wide early into the game.
Denmark “totally dominated the best team in the world” in these phases, said Hjulmand.
“It’s been a while since we’ve last been put to the test like this,” said Martinez.
Belgium barely crossed the halfway line and stayed uncharacteristically subdued as the Danish defence had little problem coping with their attack in the first half.
At the other end, Eriksen’s replacement Mikkel Damsgaard, the 20-year-old Sampdoria forward, was a frequent threat to Courtois.
“The first half the players seemed shell shocked but they have the experience to turn a game around,” Martinez added.
Belgium gained more possession after the break and came back, largely controlling the game.
But they let Danish striker Braithwaite hit the crossbar with a header four minutes from time, while Mathias Jensen fired just over in the Danes’ last-gasp effort.