Italy has taken in 509 refugees, allowing two rescue vessels to dock in the south of the country.
A mother who gave birth on board and a 14-year-old boy with severe abdominal pains were evacuated prior to that.
The two boats had already spent several days at sea off the coast of Sicily in bad weather, enduring three-metre-high waves and strong winds.
The German-flagged Humanity 1 operated by SOS Humanity NGO arrived in Bari and the MSF operated Geo Barents docked in Salerno.
In November, Italy banned a boat carrying 234 people from landing and they were instead taken in by France and Germany.
READ: Tunisia: 1,700 Tunisians sent back 'forcibly' by Italy, claims former MP
That same month migration activist Majdi Karbai said that Italian authorities had forcibly deported some 1,700 Tunisian migrants since the beginning of the year.
Italy's right-wing Prime Minister Giorgia Meloni has promised hardline measures to block asylum seekers arriving in the country. According to the government, she has not changed her policy, only allowed the refugees to dock due to the adverse weather conditions.
The Italian ministry said in a statement this weekend that "saving lives will always guide the government's decisions, even with provocative and risky actions by NGOs."
Italy's Interior Minister Matteo Piantedosi has previously said that the countries to which the search and rescue boats belong should take in the refugees they rescue.
The UN has said that the situation in the Mediterranean is "a widespread, longstanding, and largely overlooked tragedy."
Most people using this route are from the East and Horn of Africa regions. The UNHCR has urged countries to "ensure safe alternatives to dangerous crossings."