The ship came ashore after first trying to dock overnight down the coast in Brindisi. It was forced to change course due to rough seas.
The fire broke out before dawn yesterday on a car deck of the Italian-flagged ferry, which was carrying 422 passengers and 56 crew members.
Passengers huddled on the vessel's upper decks overnight, pelted by rain and hail and struggling to breathe through the thick smoke.
Helicopters rescued passengers throughout the night, completing 34 sorties in winds of more than 40 knots an hour, or 50mph.
Safe landing: seven passengers from the Norman Atlantic ferry arrive by helicopter at Corfu airport (Picture: EPA)
Italian coast guard Admiral Giovanni Pettorino told Sky TG24 said: "Notwithstanding the weather and the darkness, which is another factor, we persisted throughout the entire night."
He added those remaining on board were given thermal blankets and found places to wait protected from the elements "even if the conditions remain very difficult".