The Netherlands' Duncan Laurence has won the 2019 Eurovision Song Contest with his song Arcade.
He had been the bookmakers' favourite to win and came through to the top of the leaderboard with 492 points after the public vote.
The UK's Michael Rice came bottom, after getting just three points from the public vote and a total of 16 points for Bigger Than Us.
Laurence said: "Here's to dreaming big. This is to music first, always."
The last time The Netherlands won was 1975. The audience joined in as Laurence performed the track again at the end of the show.
Italy finished second with 465 and Russia third with 369 points.
The ceremony also saw last year's winner Netta perform, while singers from previous contests also sang each other's songs.
Madonna performed just before the voting results were announced. She kicked off her set with a version of Like A Prayer, with backing dancers dressed as monks.
She went on to sing Future, her new single featuring the rapper Quavo.
Some felt her performance was flat.
"A slightly muted response to Madonna there," said BBC One's commentator Graham Norton.
Have to say Michael rice performsnce was substantially better than Madonna’s tonight. Not many people can say that. #BBCEurovision #eurovision
— emily m (@maitlis) May 18, 2019
A section of her performance in which her backing dancers displayed Israeli and Palestinian flags was not an approved part of the act, organisers said.
Eurovision said: "In the live broadcast of the Eurovision Song Contest Grand Final, two of Madonna's dancers briefly displayed the Israeli and Palestinian flags on the back of their outfits.
"This element of the performance was not part of the rehearsals which had been cleared with the EBU and the host broadcaster, KAN. The Eurovision Song Contest is a non-political event and Madonna had been made aware of this."
It wasn't just the Queen of Pop who was apparently breaking the rules either.
The organisers said Iceland's Eurovision act could face punishment after displaying Palestinian flags during the live broadcast.
During the final, the band members held up Palestinian flags while their public vote was being announced.
In a statement, Eurovision said the "consequences of this action" would be discussed by the contest's executive board.
Alongside the contest, there were clashes in central Jerusalem as ultra-orthodox Jews protested against Eurovision.
They objected to the scheduling of the Eurovision Song Contest on the Jewish Sabbath, resulting in angry scenes as demonstrators clashed with police.
At one point, a small number of women held a counter protest, showing their bras.
There were other protests in Tel Aviv over Israel's occupation of the West Bank, East Jerusalem and the Golan Heights.
There have also been campaigns online.
The Palestinian Campaign for the Academic and Cultural Boycott of Israel (PACBI) has been using social media to oppose holding the contest in Israel because of its treatment of Palestinians.
It accuses Israel of trying to whitewash ("artwash") discrimination, which it likens to apartheid, the system of racial segregation once used in South Africa.