“The Audaz, which will leave this afternoon at five pm (1500 GMT), will sail for three days to Lampedusa,” the government said in a statement.
The navy would look after the migrants from the Open Arms vessel, the statement added.
The announcement came after 15 migrants jumped into the water in desperation — some without life jackets — after days on board within tantalising swimming distance of Lampedusa, against the backdrop of a major political crisis in Italy.
They were “rescued and evacuated to Lampedusa,” said a spokeswoman for the NGO Proactiva Open Arms that owns the ship, on which the long wait has led to fights and suicide threats as tempers fray.
The charity warned the situation was “out of control,” with some of the migrants stuck for 19 days after being rescued at sea off the coast of Libya, many suffering from post-traumatic stress.
The Spanish patrol boat will escort the Open Arms charity ship back to the port of Palma in the Balearic Islands, the government said.
“After analysing various options, the Spanish government… considers this is the most suitable.”
Spanish Prime Minister Pedro Sanchez tweeted: “With this measure Spain will solve, this week, the humanitarian emergency.”
The vessel of the @Armada_esp Audaz is ready to sail this afternoon to the island of Lampedusa and assist the #OpenArms and its occupants. It will join the boat to the port of Palma, in Mallorca.
With this measure Spain will solve, this week, the humanitarian emergency. pic.twitter.com/X3MpOE9FQY
— Pedro Sánchez (@sanchezcastejon) August 20, 2019
The vessel has been anchored since Thursday off Lampedusa, seeking permission to dock.
There were initially 147 mainly African migrants on the ship but as the days passed, some were evacuated for medical care and all minors were allowed to disembark.
Over 80 are left on board.
Six European Union countries — France, Germany, Romania, Portugal, Spain and Luxembourg — have offered to take them all in.
But Italy's far-right Interior Minister Matteo Salvini has refused to allow migrant rescue vessels to dock as part of his hardline policies.
“Being firm is the only way to stop Italy from becoming Europe's refugee camp again,” he tweeted.
Compounding his refusal is a major political crisis in Italy.
Salvini has pulled his party out of Italy's ruling coalition, hoping to topple the 14-month-old government and trigger early elections, which polls suggest his anti-immigrant League party and its right-wing allies could win.
On Tuesday, Italian Prime Minister Giuseppe Conte announced he would resign.
Spain slams Italy
Faced with Italy's protracted refusal to allow the migrants to disembark, Spain at the weekend offered up its southern port of Algeciras, which the NGO said could “not be achieved” due to the distance and tensions on board.
Madrid then offered up Mallorca in the Balearic Islands, nearer but still around 1,000 kilometres (600 miles) from Lampedusa.
The charity described this offer as “totally incomprehensible” and continued to demand the ship be allowed to dock in Lampedusa.
Spain's Defence Minister Margarita Robles has slammed Italy — and particularly Salvini — for the situation.
“What Salvini is doing in relationship with the Open Arms is a disgrace to humanity as a whole,” she said Monday.
Salvini “has shown he doesn't care about human lives”, she added Tuesday.
By Marianne Barriaux / AFP