At least 40 migrants have died in the hold of a boat off Italy as the EU struggles to cope with "the worst refugee crisis since World War II", with thousands making dangerous crossings to reach Italy and Greece.
"Operation under way... many migrants saved. At least 40 dead," the Italian navy said on Twitter, while the Corriere della Sera newspaper said those who died were found in the hold of the vessel, apparently having suffocated below deck.
An Italian navy helicopter had spotted the boat, which was "overcrowded and starting to sink", about 21 nautical miles off the Libyan coast, south of the Italian island of Lampedusa, a reporter with Italy RaiNews TV at rescue operation headquarters said.
An Italian navy patrol boat was sent to its aid at 7am (local time) and when its sailors boarded the boat, the grim discovery was made.
"We were faced with a very emotional scene," Commander Massimo Tozzi told the Italian news agency AGI, describing how some bodies were floating on the water.
The 312 survivors - including 45 women and three children - were then transferred to the Norwegian vessel Siem Pilot.
Almost 400 other migrants were picked up in the Mediterranean on Saturday by other vessels taking part in the EU's patrol and rescue operation, Triton.
Survivors of the hazardous crossing from Libya often tell of how traffickers lock migrants in the hold who pay less for the voyage - mostly Africans.
Packed inside the confined space they not only risk drowning if the rickety boats capsize, but many are also overcome by diesel fumes.
"This tragedy will not be the last if the international community does not find a solution to the crisis in Libya," from where most of the migrants set out, Italy's Interior Minister Angelino Alfano said.
The European Union says the scale of migration, driven by war, disaster and poverty, has no parallel since the end of World War II.
"The world finds itself facing the worst refugee crisis since the Second World War," EU Migration Commissioner Dimitris Avramopoulos said on Friday.
Italy and Greece have borne the brunt of the emergency.