Dominik Szoboszlai converted a second-half penalty after being fouled by Reece James.
The last time Hungary beat England came at the 1962 World Cup, with England having gone 15 matches unbeaten against Hungary since then.
Excluding penalty shootouts, it was England’s first defeat in 23 matches.
“We have to accept that we did not do enough to win the game. A draw would have been the fair outcome,” England coach Gareth Southgate said. “We did not create too many clear cut chances.
“The heat was a factor and took a lot out of the players and we tried to refresh the team earlier than normal. The balance of finding out about new things and the consistency of the regular team, I have to look at whether I got that right.”
“We’ve developed immensely in terms of how we play in possession,” Hungary captain Ádám Szalai said. “In the first half we kept possession well. In the second, we dominated until the goal, which is unbelievable. We proved at Euro 2020 what we’re capable of doing against the best, and we’ve shown this again.”
Also in the same group, Italy and Germany drew 1-1 with Lorenzo Pellegrini and Joshua Kimmich trading goals three minutes apart in the second half in Bologna.
Pellegrini redirected a cross from Italy debutant Wilfried Gnonto before Kimmich fired in a rebound.
European champion Italy, which did not qualify for a second consecutive World Cup, made wholesale changes following a 3-0 loss to Argentina in the Finalissima on Wednesday.
“We played evenly against a great national team,” Italy coach Roberto Mancini said. “Germany is one of the strongest teams right now.”
Italy goalkeeper Gianluigi Donnarumma appeared to injure his left wrist on the final play of the match.
The match in Hungary was marred when schoolchildren jeered England players taking the knee during their pre-kickoff anti-racism gesture. The game was meant to be played in an empty stadium due to fans’ offensive behavior at Euro 2020 but schoolchildren were allowed inside Puskas Arena instead.
“I have no idea why people would choose to boo that gesture and very often young people can’t know why they’re doing it so they’re being influenced by older adults,” Southgate said. “Everyone knows what we believe and what we stand for.
“I hear that still in our stadiums as well. That’s why we do it and continue to take that stand and we will keep doing that as a team.”
England’s home game against Italy next weekend will also be played behind closed doors, at Molinuex, due to the behavior of its supporters at the Euro 2020 final loss to Italy a year ago.
The four group winners in League A will qualify for the final four in June next year, while the fourth-placed teams will drop down to League B. The group winners in the lower leagues gain promotion.
Armenia beat Ireland 1-0 with a second-half goal from Eduard Spertsyan.
Finland and Bosnia and Herzegovina drew 1-1 with Smail Prevljak equalizing in stoppage time for Bosnia following Teemu Pukki’s opener.
Montenegro beat Romania 2-0 with goals from Stefan Mugosa and Marko Vukcevic.
Turkey routed the Faroe Islands 4-0 and Luxembourg won at Lithuania 2-0 thanks to a brace from Danel Sinani.