Former Tottenham Hotspur midfielder Eriksen powered his spot-kick past Jordan Pickford in the 35th minute, a couple of minutes after England centre back Harry Maguire had received a red card for a second booking.
Defeat ended a run of nine successive home wins for England, who beat top-ranked Belgium on Sunday, while Denmark, who have lost just two of their last 40 international matches, celebrated their first victory over England at Wembley since 1983.
To rub salt into the home wounds Reece James, England’s best player on his full debut, was also shown a red card after the final whistle for confronting referee Jesus Gil Manzano.
England slipped to third place in Group A2 which is now headed by Belgium with Denmark above England on goal difference.
“Disappointed to lose the match but extremely proud of how we responded to going down to 10 men,” said England manager Gareth Southgate, who rather surprisingly opted not to send on Aston Villa’s creative midfielder Jack Grealish when chasing the game.
“While it was a memorable night for Danish playmaker Eriksen, it was a disappointing one for England who suffered only their second home defeat in 32 competitive internationals.
There were some positives, however, notably an encouraging full debut for Chelsea right back James who was arguably England’s most effective attacking option, only to blot his copybook as tempers flared at fulltime.
Denmark, playing with the same side that beat Iceland at the weekend, started brightly with Kasper Dolberg having a couple of half chances and Eriksen pulling the strings but England had begun to dominate when everything changed after 32 minutes.
Maguire, who had been booked for a rash foul on Yussuf Poulsen, took a poor touch near the halfway line and his attempted recovery tackle, while taking the ball, also caught Dolberg to earn the Manchester United man a second yellow.
Three minutes later, with England still re-organising, a long ball into their area caused hesitation in the home defence between Kyle Walker and Pickford and when Thomas Delaney went down the referee pointed to the spot.
It was a harsh decision but with no VAR to save England, Eriksen thumped his penalty past Pickford.
England enjoyed plenty of possession after the break without looking overly dangerous although Denmark needed an incredible save by Kasper Schmeichel to preserve their lead.
When Declan Rice headed the ball into the area and Mason Mount connected with his head from close range, a goal looked certain but somehow Schmeichel clawed it away.
England huffed and puffed late on and Harry Kane’s goalbound header was cleared off the line as Denmark hung on.