More than 5,000 migrants have been picked up by the Italian navy in the past 48 hours in several rescue operations between Sicily and North Africa.
On Monday, about 30 bodies were found in one of the migrant boats, Italian news agencies reported, citing the navy and coastguard.
The rescuers made the gruesome discovery when they boarded a fishing boat carrying around 590 refugees and migrants.
The immigrants apparently died of asphyxiation, the news agencies said. It is not the first time Italian rescuers have found migrants dead on the overcrowded boats, but never before had they found so many bodies in one boat.
The boat is being towed by the Italian navy and is expected to arrive later on Monday in Pozzallo on the southeast coast of Sicily.
Over the past weekend more than 1,600 migrants were rescued by Italian authorities, bringing the total number of migrants rescued so far this year to above 60,000.
The number is expected to soar past the record 63,000 set in 2011 during the Arab Spring uprisings.
Italy has long borne the brunt of migrants making the perilous crossing from North Africa to Europe, but the EU border agency, Frontex, says there has been a significant rise in numbers in recent months.
The last few weeks have seen a series of tragedies, with 10 people drowning and 39 having to be rescued after their boat sank off the Libyan coast earlier in June.