Wembley will host seven games at Euro 2020 after Brussels lost the right to host matches for the tournament.
Belgium's capital city has been ruled out as a planned new stadium is still to be built and Uefa have not received the necessary guarantees.
Wembley was already scheduled to hold the semi-finals and final but will now also host three group games and a last 16 tie.
Cardiff and Stockholm had also been in contention to host the extra games.
England's national stadium is one of 12 venues across Europe hosting Euro 2020 games.
Speaking in Nyon, Uefa president Aleksander Ceferin said the decision of Uefa's executive committee had been unanimous.
The Football Association of Wales (FAW) said they were "extremely disappointed" that their bid to host four matches at Cardiff's Principality Stadium had been unsuccessful.
"The concept of taking Uefa Euro 2020 to 13 different countries was devised to allow smaller countries, like Wales, to have a unique opportunity of being involved in staging a major tournament," the FAW said in a statement.
"Wales has never staged a Euro or World Cup final and this was its one and only chance of doing so."
The 2020 tournament, which runs from 12 June until 12 July that year, is the first European Championship to be played under a new format with group games spread across several countries.
The opening match will be played at the Stadio Olimpico in Rome.
Glasgow's Hampden Park and Dublin's Aviva Stadium will host last-16 matches and three group games.
The quarter-finals and three group matches will be held in Munich (Germany), Baku (Azerbaijan), Rome (Italy) and St Petersburg (Russia).
The other host cities that will hold three group games and a last 16 game are Copenhagen (Denmark), Bucharest (Romania), Amsterdam (Netherlands), Bilbao (Spain), Budapest (Hungary) and now London.
Euro 2020 host city pairings
Group A: Rome & Baku
Group B: Saint Petersburg & Copenhagen
Group C: Amsterdam & Bucharest
Group D: London & Glasgow
Group E: Bilbao & Dublin
Group F: Munich & Budapest