A report into the deaths of 63 Libyan refugees on a small boat last May said a "catalogue of errors" by coastguards and Nato meant they were never rescued.
The Council of Europe inquirysays two Nato ships close by failed to respond to distress calls, and no country launched a search and rescue mission.
Only nine people survived the 15-day Mediterranean voyage after the boat ran out of fuel and drifted back to Libya.
Nato has said it has no record of any aircraft or ship contacting the boat.
However, it says other search and rescue missions were launched around this time.
The report by Europe's human rights watchdog says some 1,500 people died at sea trying to reach Europe in 2011.
Many of these were trying to flee from Libya or other conflicts in North Africa.
The Council of Europe launched its investigation into the incident after The Guardian newspaperspoke to survivors.
They say smugglers removed their supplies in order to get more people into the boat.
The nine-month inquiry concludes that there were many opportunities to rescue the migrants, who were hoping to reach the Italian island of Lampedusa:
- After 18 hours at sea in a crowded boat with little fuel and water, a distress call was sent by satellite phone to an Eritrean priest living in Italy
- This was passed to the Italian coastguard which used the satellite call to establish the boat's position
- The information was passed onto other ships in the area
- Nato had said the area was a military zone under its control, but failed to launch a rescue operation
- Within a few hours the survivors say a military helicopter hovered over them and dropped food and water, and indicated that it would return - it never did
- The boat made contact with two fishing vessels which refused to help
- On around the tenth day when half of those on board were already dead, a large military boat allegedly came alongside, but despite obvious distress signals it also sailed away
The report, called "Lives lost in the Mediterranean Sea: who is responsible?" also says Nato failed to plan adequately for the likely exodus of asylum-seekers from Libya.
And it says Italian and Maltese search and rescue authorities both failed to take responsibility for launching a rescue mission.
"These people did not need to die. If different actors had intervened or had intervened correctly, they could have been rescued on several occasions. More has to be done to avoid people dying in their desperate attempts to reach Europe," the report says.
'Vacuum of responsibility'
It also points out that under the law of the sea, nations must ensure that ships flying their flags try to rescue people in distress.
The investigation was adopted on Thursday by the Council of Europe's Refugees and Displaced Persons committee.
In a draft resolution, the report's author, Tineke Strik, calls on Nato to provide more information about "the involvement of their respective assets" in the incident.
The resolution also calls on European nations to fill the "vacuum of responsibility" left when a state such as Libya is unable or unwilling to fulfil its search and rescue responsibilities.
And it says states must tackle the reasons why commercial vessels are unwilling to help migrant boats in distress. These include the economic consequences of rescuing migrants, disagreements between Malta and Italy over where they should disembark.
The report says five of the survivors have had asylum applications approved, while four others are waiting for decisions on their cases.
- 0000- 0200 GMT 27 March:Boat leaves Tripoli with 72 on board
- 1652 GMT:Distress call by satellite phone. Coastguard issues alert
- 2300 - 0100GMT:Helicopter drops food supplies
- 0700 GMT 28 March:Boat runs out of fuel and drifts
- 2 April:People start dying on the boat
- 3-5 April:Boat meets a military ship that fails to help the survivors
- 10 April:Boat lands at Zlitan with 11 migrants still alive - two more die shortly after landing
Map based on original by Charles Heller, Lorenzo Pezzani and Situ Studio, Forensic Architecture (ERC).