The stricken vessel was spotted by a plane, which alerted the Italian coastguard but by the time a navy ship arrived at the spot only four passengers were found alive.
The four survivors, who came from Nigeria, Ghana and Niger, said they were part of a group of 45 people that set sail from Libya.
In a separate incident, a group of migrants rescued by an Italian vessel related a deadly standoff over religion in their dinghy, which ended in 12 Nigerian and Ghanaian passengers being drowned, the police said.
The victims were "of Christian faith, compared to their attackers who were of Muslim faith," police in the Sicilian port of Palermo said in a statement.
Fifteen migrants were arrested on suspicion of "multiple aggravated murder motivated by religious hate", the statement added.
The incident aboard the vessel, which was carrying about 100 migrants, took place in the Strait of Sicily, between Tunisia and Italy.
According to a group of Nigerian and Ghanaian survivors, a fight broke out over religion, with a group of Muslim passengers threatening the Nigerians and Ghanaians after they declared themselves to be Christians.
"The threats then materialised and 12 people, all Nigerian and Ghanaian, are believed to have drowned in the Mediterranean," the police statement added.
The remaining passengers were rescued and brought to Palermo, where the 15 alleged attackers, who came from Ivory Coast, Mali and Senegal, were arrested.
- 'Human chain' -
The boat, like many of the claptrap vessels flooding Italy's shores each week with migrants fleeing conflict and poverty in Africa and the Middle East, had set out from Libya on Tuesday, according to the survivors.
The police said the distraught Nigerians and Ghanaians told a "dreadful" story of their struggle to escape with their lives "by forcefully resisting attempts to drown them, forming a veritable human chain in some cases."
Some passengers had taken photographs of the incident, judicial sources who described the accounts as "coherent" told Italian media.
The International Organization for Migration said it had received reports of "a fight between different groups -– maybe for religious reasons... on one of the boats rescued some days ago."
With the latest tragedies, the number of migrants killed while trying to cross the Mediterranean this year has risen to 900, the agency said, up from 96 between January and April last year.
The IOM said some 10,000 migrants had been rescued at sea since Friday alone, with recent good weather prompting a spike in the number of people attempting the risky journey.
- 'Season of death' -
Italy pleaded for more help from other European Union countries Thursday to rescue the migrants and to share the burden of accommodating them.
Italy is not the final destination for most of those who risk their lives each year in search of a better life in Europe, but as their first port of call it is saddled with handling all asylum requests as well as saving those in danger from a watery grave.
"Ninety percent of the cost of the patrol and sea rescue operations are falling on our shoulders, and we have not had an adequate response from the EU," Foreign Minister Paolo Gentiloni told the daily Corriere della Sera.
"And then there is the difficult issue of knowing where to send those rescued at sea -- to the nearest port? To the country where their boat came from? The EU has to respond clearly to these questions," Gentiloni said.
The crisis is expected to intensify in coming months, with the Red Cross saying it expected record numbers of boat migrants this year.
"The flow is unstoppable, and we, the international community, are failing to deliver on our commitments," said Francesco Rocca, president of the Italian Red Cross.
Amnesty International said it had been raising the alarm "for months" and urged European leaders to take urgent action.
"A season of death is now upon us," said Gauri van Gulik, the rights group's deputy Europe and Central Asia programme director.
"It is an appalling indictment of European governments' lack of compassion that so little has been done when so many people remain at risk of dying off Europe's southern shores."