Spanish search and rescue are currently evacuating the 157 passengers who are on board the ferry, "Sorrento", which belongs to the Spanish company Trasmediterranea.
The ferry is currently 18 miles west of Dragonera, a tiny island west of Mallorca.
Spain's Ministry of Transport tweeted that the passengers and crew had all been evacuated into lifeboats and were being taken back to Palma de Mallorca.
Spanish daily El País reported that three crew members have been taken by helicopter for medical treatment for smoke inhalation.
The ship raised the alarm with the coastguard in Palma at 1.50pm, reporting that a fire had broken out on board.
A statement from Spain's Ministry of Transport provided more details.
"Although at first the capitan didn't think an evacuation was necessary, after seeing the intensity of the fire he decided to evacuate all passengers and crew in the ship's lifeboats," read the statement.
"They were evacuated from the starboard side becuase the fire was on the port side, and couldn't be under control using the measures on board," it said.
The statement also provided details on the rescue operation.
Four different life vessels and a helicopter were scrambled to assist in the evacuation by the coastguard. The Civil Guard also sent two vessels and a helicopter.
Two ships sailing close to the stricken ferry, the Balearia Puglia and the Visemar diverted to go to assist.
All of the passengers have been trasferred to the Puglia and are heading back to Palma de Mallorca, according to the ministry.
A photo taken from the air by a passenger on a commercial flight shows the huge smoke plume.
The ferry was not full to capacity at the time. It can hold up to 954 passengers and 150 vehicles.