UEFA opted to move the showpiece event to Portugal as the country is one of few places Britons can travel to easily amid Covid-19 restrictions.
Turkey, on the other hand, is on the UK’s travel red list, meaning people are being actively discouraged from visiting the country.
The British government had been open to holding the final in England in order to prevent unnecessary travel for fans, but an agreement could not be reached over the necessary exemptions from UK quarantine arrangements, according to UEFA.
The final will be played at the Estadio Dragao on May 29. UEFA said 6,000 fans of each club would be able to attend.
“Fans have had to suffer more than twelve months without the ability to see their teams live and reaching a Champions League final is the pinnacle of club football,” said UEFA President Aleksander Čeferin in a statement.
“To deprive those supporters of the chance to see the match in person was not an option and I am delighted that this compromise has been found.”
All English final
He added: “I hope the final will be a symbol of hope at the re-emergence of Europe from a difficult period and that the fans who travel to the game will once again be able to lend their voices to showcase this final as the best in club football.”
UEFA thanked the Turkish authorities for their understanding and said it would urgently look into opportunities to stage a tournament in Istanbul in the near future.
Porto will now host the second all English final in three seasons after Liverpool beat Tottenham in 2019. Chelsea is competing in its first final in nine years whilst Manchester City will be debuting in the end of season finale, having won the Premier League on Tuesday.
Last season’s delayed final was held behind closed doors in Lisbon, Portugal, and was won by Bayern Munich.