The Ocean Viking rescue ship brought 306 migrants and refugees to the Sicilian port of Augusta on Thursday afternoon.
It comes after a nine-day standoff while the vessel waited in rough seas to receive a port of destination from European authorities.
Crew members aboard the ship had said recent downpours left migrants on the open deck drenched and shivering.
On Wednesday night, two-metre high waves had rocked the charity rescue ship.
"The relief on the Ocean Viking is indescribable, the Italian authorities have informed us that the 306 shipwrecked people will disembark in Augusta," the Europe Office of the International Federation of Red Cross and Red Crescent Societies said in a tweet.
Before being assigned to Augusta, the Ocean Viking had also submitted requests for disembarkation at Malta and Libya.
The ship, which last week had taken 314 migrants onboard in three different operations, sailed for days around Lampedusa but was moving between the island of Pelagie and the south-east coast of Sicily on Thursday.
Several times, the NGO had described the difficulties of the situation onboard.
"Dripping blankets, running out of rain sheets, the castaways chattering their teeth to the cold. The weather is still bad," the NGO announced on Wednesday.
Last weekend, the Italian Coast Guard evacuated a total of eight migrants, including those needing medical assistance and their immediate family members, leaving 306 migrants aboard.
As of November 11, 57,479 migrants arrived in Italy this year by sea, according to the Italian Ministry of Interior.
That is nearly double the number by the same date in 2020.