The Aquarius rescue ship arrived in Malta on Wednesday after EU countries thrashed out a deal to take in the 141 migrants onboard, defusing another diplomatic standoff in the Mediterranean.
Loud cheers could be heard from the ship as it pulled into the Grand Harbour in Valletta, five days after the migrants, most of them Somalis and Eritreans, were rescued off Libya. Some flashed peace signs and waved from the deck.
Malta and Italy both initially refused to let the Aquarius dock in a re-run of the standoff seen in June when the vessel was at the centre of a heated diplomatic crisis between European governments.
But Malta on Tuesday agreed to reverse its decision as France, Germany, Luxembourg, Portugal and Spain offered to take in the ship's latest passengers, along with 114 others who arrived on the island on Monday.
The migrants were unloaded from the Aquarius straight onto police buses, to be taken to a reception centre where they will be distributed among the five countries, officials said.
Dozens of children were on the ship -- more than 30 of them unaccompanied, according to a Maltese government source -- while two heavily pregnant women were taken into an ambulance.
The agreement is the fifth of its kind between Western European governments since June when the Aquarius was stranded at sea with 630 migrants onboard, until Spain finally offered to let them land.
About 10 rightwing protesters were waiting for the migrants at the port in Valletta, waving a banner that read "Stop Human Trafficking".
But the crew of another rescue ship -- the Lifeline, which has been impounded by Maltese authorities -- were also there to greet them, holding a banner which read: "Everyone has a right to life".
Until this summer Italy was the main landing point for migrants crossing the Mediterranean in search of a better life, many of them sub-Saharan Africans who have suffered appalling abuses in Libya.
But Italy's new populist government says it has had enough of migrant arrivals, having taken in 700,000 people since 2013.
Far-right Interior Minister Matteo Salvini has vowed that the Aquarius will "never see an Italian port" again, though the Italian coastguard continues to rescue migrants.
NGOs say they have a moral obligation to rescue people making the perilous crossing, who could otherwise join the estimated 1,500 killed en route this year alone.
Spain has offered to take 60 people, Germany up to 50 and Portugal 30. France has said it will accept 60 from the Aquarius and the other rescue boat that arrived in Malta this week, while Luxembourg said it would take in five of the migrants.
The UN's refugee agency, the UNHCR, hailed the deal but warned that Europe needed to come up with more permanent solutions.
"The situation should never have come to this in the first place," said UN High Commissioner for Refugees Filippo Grandi.
The UN called for an agreement "that provides clarity and predictability on where boats carrying rescued passengers can dock".
"This is essential if further such situations are to be avoided," it added.
Grandi said of countries that refused to take in migrants that it was "wrong, dangerous and immoral to keep rescue ships wandering the Mediterranean while governments compete on who can take the least responsibility".
The Aquarius, chartered by French charity SOS Mediterranee as well as Doctors Without Borders, suffered a setback this week when Gibraltar said it would not longer be able to operate under the British territory's maritime flag.
But SOS Mediterranee's German wing said Wednesday that it would likely continue operating under a German flag if the dispute is not resolved.
"The Aquarius of course has the intention and obligation to set sail again as soon as possible, back into the rescue zone off the Libyan coast," said the group's Germany chief Verena Papke.