Italy will allow 450 migrants who were picked up from an overcrowded boat on Saturday to disembark in Sicily.
The decision was taken after Italy said that France, Germany, Malta, Portugal and Spain had each agreed to take 50 migrants.
Malta and Italy had earlier both insisted that the other country should allow the boat to dock.
Italy’s new government has toughened its policies in an effort to stem the flow of arrivals on its shores.
So far, only women and children, 57 people in all, have been allowed to land in the Sicilian port of Pozzallo.
The migrants were rescued from a boat by two vessels of the EU’s Frontex mission, but Italy was unwilling to allow them to land at its ports.
Before the migrants were rescued from their wooden boat on Saturday, Malta had refused calls to allow them to be landed in Valletta, saying that the boat was much closer to the Italian island of Lampedusa.
But Italy’s Interior Minister Matteo Salvini said that the Frontex boats should “head south, to Libya or Malta” once the migrants had been rescued.
The Italian position changed after Prime Minister Giuseppe Conte had written to all European Union member states asking them to accept some of the refugees.
“In this context which always sees Italy in the frontline of saving lives at sea, I ask you for a clear sign on sharing the responsibility of managing the migrant issue,” he wrote.
France and Malta said on Saturday they would take 50 each, with Germany, Spain and Portugal making a similar pledge on Sunday.
But Czech Prime Minister Andrej Babis dismissed the request, saying relocating the migrants would “lead down the road to hell”.
And Libya restated its refusal to take in anyone rescued from the ship.
“No, we will not accept any illegal migrants after they are rescued by rescue ships,” a coast guard spokesman told Reuters news agency.
In June, two rescue boats struggled to find a port at which to dock, after Italy refused permission.
The Aquarius finally sailed to the Spanish port of Valencia with 630 migrants after being blocked by Italy and Malta.
A second ship, the Lifeline, docked in Malta with 230 migrants. In both cases, a number of European countries agreed to accept the migrants.