Six coastguard officers were lowered from a helicopter onto the deck of the vessel which had been abandoned by its crew, off Italy's southwest coast, and took control of the ship, the navy said.
The high-seas drama came days after Italy stopped another ship carrying hundreds of migrants drifting towards its shores, as the southern European country struggles with a record wave of migrants making the perilous journey from North Africa.
The second ship was identified as the 73-metre-long (240-foot-long) Sierra Leone-registered Ezadeen, which a marine traffic website said was meant to be travelling between Cyprus and the French southern port of Sete.
Prior to losing power, the almost 50-year-old ship had been moving at a brisk seven knots and had been spotted by a coastguard plane 80 miles offshore shortly after nightfall.
One of the people on board the Ezadeen was able to operate the ship's radio and informed the coastguard that the crew had jumped ship.
The coastguard asked for assistance from Icelandic patrol boat Tyr, which was in the area on a mission with Frontex, the European Union's border agency.
The Tyr was able to draw alongside the runaway ship, but the weather conditions made boarding impossible.
The Icelandic vessel has three doctors on board who will be winched on to the merchant ship by helicopter to treat any unwell passengers, the air force said.
Series of maritime dramas
Earlier this week, Italian sailors intercepted a freighter carrying nearly 770 migrants which had been drifting towards the rocks of Italy's southeastern shore on autopilot, abandoned by the people smugglers who had navigated it from Turkey via Greek waters.
The Moldovan-registered Blue Sky M cargo ship got to within five miles – or 45 minutes sailing time – of a disaster before six navy officers were lowered on to the ship by helicopter and succeeded in bringing it under control.
The vessel's human cargo included some 60 children and two pregnant women, one of whom gave birth on board as the boat steamed towards catastrophe, according to the Italian Red Cross.
Many of the migrants on the ship were treated for hypothermia and broken limbs.
The migrant boat dramas have come as Italy grapples with the aftermath of the Norman Atlantic ferry disaster in which at least 13 people have died following an onboard fire that erupted before dawn on Sunday in waters off Albania.
They also come after a record year for people fleeing conflict and poverty in the Middle East, Africa and Asia attempting to reach Europe by sea.
More than 170,000 people have been rescued by Italy in the last 14 months and hundreds, possibly thousands, have perished trying to make the crossing.
They are almost invariably under the control of ruthless traffickers who earn thousands of dollars for every person they put to sea from Libya and other departure points in North Africa.
Increasingly, the traffickers appear to have decided that the best way to get their human cargoes to Europe is to put to sea and then abandon the boats.
Since the onset of winter they have been using bigger boats than the converted fishing boats and dinghies they previously favoured.