Organisers the European Broadcasting Union (EBU) previously decided the event could not be held in the war-torn country following the Russian invasion.
This was despite Ukrainian entry Kalush Orchestra triumphing at this year's competition in Turin, Italy, with the UK's Sam Ryder coming runner-up.
Ukraine will automatically qualify for the grand final alongside the so-called big five nations - the UK, France, Germany, Italy and Spain, which each get a free pass because of their financial contributions to the event.
It will be the ninth time Eurovision has taken place in the UK, more than any other country.
The bidding process to select the host city will begin this week and will be jointly managed by the BBC and EBU.
Martin Osterdahl, Eurovision's executive supervisor, said: "We're exceptionally grateful that the BBC has accepted to stage the Eurovision Song Contest in the UK in 2023.
"The BBC has taken on hosting duties for other winning countries on four previous occasions.
"Continuing in this tradition of solidarity, we know that next year's contest will showcase the creativity and skill of one of Europe's most experienced public broadcasters whilst ensuring this year's winners, Ukraine, are celebrated and represented throughout the event."
Mykola Chernotytskyi, head of the managing board of Ukrainian broadcaster UA:PBC, said: "The 2023 Eurovision Song Contest will not be in Ukraine but in support of Ukraine.
"We are grateful to our BBC partners for showing solidarity with us.
"I am confident that together we will be able to add Ukrainian spirit to this event and once again unite the whole of Europe around our common values of peace, support, celebrating diversity and talent."
Prime Minister Boris Johnson said the UK would "put on a fantastic contest on behalf of our Ukrainian friends".
He said that in talks with Ukrainian President Volodymyr Zelensky last week they "agreed that wherever Eurovision 2023 is held, it must celebrate the country and people of Ukraine".