The rescued migrants, among them unaccompanied children, were rescued by the Sea Eye from unsafe boats off the Libyan coast in the central Mediterranean.
According to rescuers, about 20 of the migrants suffered from burns caused by petrol spills.
It took several days for the ship to reach Livorno in Tuscany, the port allocated by the Italian authorities.
The German rescue ship Rise Above, of the Mission Lifeline search and rescue association, has also been instructed to travel further than expected.
With 80 rescued migrants on board, the Rise Above is headed for the port in the southern Italian town of Taranto, where it is expected to arrive on Saturday morning, Christmas Eve.
The ship was originally meant to arrive in Roccella Ionica, closer to where it is operating, before the authorities changed the plan.
Mission Lifeline tweeted it was “questionable” whether the ship would make it to Taranto, as it is low on fuel.
Italy has recently assigned several rescue ships to ports that are far away. Many NGOs suspect this is a tactic by the far-right government, which opposes the involvement of civilian rescue boats.
“Our fears that rescue capacities are being deliberately withdrawn from search areas seem to be confirmed,” Mission Lifeline wrote.
The Sea Eye has also criticized the actions of Italian authorities.
While Italy used to stall rescue ships for several days before assigning them a port, Sea Eye spokesman Gorden Isler has detected a new approach.
“The goal of the authorities remains the same,” he said, which is “to make it more difficult to rescue people in order to reduce the number of arrivals in Europe.”
The association also worries about future missions because it has received significantly fewer donations than hoped, making future missions less certain.
By Manuel Schwarz, dpa