The cargo ship had been drifting powerless in rough seas about 40 nautical miles from Italy’s southern coast.
The fire broke out on Sunday on a vehicle deck of the Norman Atlantic ferry.
Rescuers worked through the night to pull 329 people off the multideck ferry, the Italian navy said.
Crews have been slowly airlifting passengers from the upper deck of the Italian vessel.
The coastguard said it picked up 520 migrants in the Strait of Sicily between Thursday night and Friday.
The Springboks lead 8-6 at halftime in their third end-of-year tour match against Italy.