There had been much lobbying for the May 29 Champions League final between Manchester City and Chelsea to be moved to England's national stadium to avoid some of the logistical problems caused by Covid-19 but the Government's unwillingness to bend to some of Uefa's demands mean the game will now be played in Porto instead.
Had the European showpiece taken place at Wembley, the Championship play-off final would have had to be moved.
Barnsley face Swansea City in a two-legged semi-final on May 17 and 22 for the right to play Brentford or Bournemouth for promotion to the Premier League.
City and Chelsea had been due to play in Istanbul, but this was problematic because Turkey is on the UK Government's "red list", bringing quarantine restrictions for the players and preventing fans from travelling to the game, which will be played in front of a crowd.
The authorities were thought to be willing to compromise on the arrangements for players so the game could be moved to London, but not on to make exceptions to quarantine rules for its staff, VIPs and sponsors.
Portugal is on the "green list", meaning fans will be free to travel, and players will not have to quarantine on their return, which for many would have disrupted their preparations for the European Championships.
Both clubs will have 6,000 tickets for the game, although the capacity is yet to be agreed. It had been due to be 24,000 in Istanbul.
Attendance for the play-off final is set to be capped at 10,000, with home supporters allowed into both legs of the semi-finals. Barnsley have held a ballot to decide who can attend their first leg at Oakwell. A maximum of 4,528 will be allowed, though the exact number will depend on the intricacies of bubbles and social distancing.
Barnsley twice played at Wembley in 2016, winning the Football League Trophy and League One play-offs.