The 629 migrants, including 11 children and seven pregnant women, have been drifting in the central Mediterranean aboard the Aquarius rescue ship since Sunday, when both Italy and Malta shut their ports to it.
Italy has long demanded that the European Union change its migration policy and makes good on promises to accept more refugees, saying that Italy has been left alone to co-ordinate rescues and accept tens of thousands of migrants a year for asylum processing.
He said Malta should accept the Aquarius instead, but the government in Valletta said the rescued migrants fall under Italy's jurisdiction, as they were picked up the migrants in Libyan waters.
The rescue service says its patrol craft intercepted six different boats carrying migrants that had left from African shores throughout Saturday. He said there was a moral "obligation to help to avoid a humanitarian catastrophe".
"Italy broke global rules and caused a stand-off", Maltese premier Joseph Muscat tweeted. "This is a European issue".
As soon as Spanish proposal was known, new Italian Interior minister, xenophobic Matteo Salvini, sang victory immediately in a tweet.
The ship was heading for the Italian port of Messina Sunday when Italian officials ordered it to stop and remain in place, 27 miles west of Malta and 35 miles south west of mainland Italy. "Italy doesn't shrug off its responsibility when it comes to saving lives, but it asks that others do the same", Transport Minister Danilo Toninelli, in charge of Italian ports and coast guard, said after the Spanish announcement.
SOS Mediterranee director general Sophie Beau said Spain's offer "is encouraging and shows that some states are sensitive to the humanitarian emergency".
"This plan would mean already exhausted rescued people would endure four more days travel at sea", it added. "From today, Italy will also start to say no to human trafficking, no to the business of illegal immigration", he wrote on Facebook.
The migrant influx has led to a populist backlash, with Salvini vowing to prevent Italy from becoming the "refugee camp of Europe".
Sophie Beau, head of French charity SOS Mediterranee, which charters the vessel, said its missions will continue "as long as there are people drowning in the Mediterranean, as long as we have the resources, and as long as we are able to act and we are not kicked out of the area".
"Our sole objective is to bring the people we've rescued, in hard conditions yesterday, to a port of safety", the group said in a statement.
Under EU rules, migrants must apply for asylum in the European country where they first arrive.
"Given the location of the ship and the urgency, my opinion is that it would be natural to open a Corsican port to help those people in distress", President of Corsican Assembly Jean-Guy Talamoni, tweeted on Monday evening.
The Italian government, and others like it including Britain's, want hundreds of people to drown to deter others from trying to flee to Europe to escape war, poverty and climate change.