Ukraine’s Jamala has taken out the Eurovision title with a stirring performance dedicated to the people of Crimea.
Australia came second in the competition with Dami Im’s Sound of Silence.
Ukraine scored 534 points with its song 1944, followed by Australia on 511 points and Russia, who finished third, on 491 points.
Jamala is from the Muslim Tatar minority in Crimea, which was annexed by Russia in 2014.
She said ahead of the contest that she wanted to make her song “about my great-grandmother Nazalkhan and thousands of Crimean Tatars who never had a chance to return to Crimea again”.
Ukrainian President Petro Poroshenko hailed Jamala’s “unbelievable” victory at Eurovision on Twitter.
“Yes!!!” Mr Poroshenko tweeted.
“An unbelievable performance and victory! All of Ukraine gives you its heartfelt thanks, Jamala.”
This year the contest featured a new format from the European Broadcasting Union, which separated the jury and the televote.
Im, 27, topped the jury vote but came second once the viewers’ votes were counted.
Russia’s Sergey Lazarev was the hot favourite to win, with an incredible performance that saw him climb the walls.
But he failed to woo the judges enough, receiving 130 points from the juries and 361 from televoters.
There was speculation some countries — not just Ukraine — may have taken points off Lazarev in the jury vote in order to send Russia a message.
Russia finished in third spot behind neighbour Ukraine and newcomer Australia.
Ukraine also beat semi-finalists from Latvia, Georgia, Bulgaria, Ukraine, Serbia, Poland, Israel, Lithuania, Belgium, Germany, France, Italy, Spain, the United Kingdom and hosts Sweden.
The competition was watched by tens of millions of people around the world.