The body of a migrant, ho had reportedly died days earlier, was also found on one of the ships.
Italy's coastguard has rescued nearly 600 migrants after two fishing boats got into difficulty in bad weather on Tuesday.
The rescue operation took place around 100 kilometres off the southern coast of Sardinia, authorities said.
A total of 573 people were safely brought to shore, including 59 children, many of which were unaccompanied.
The body of a migrant -- who had reportedly died several days earlier -- was also found on board one of the vessels.
The Italian coastguard said it was alerted that two overloaded fishing boats were drifting in heavy seas near Calabria.
The rescued migrants are due to disembark at the Sicilian port of Augusta, the coast guard added in a statement.
According to the International Organisation for Migration (IOM), an estimated 10,570 migrants have arrived on European shores by sea since the start of the year, while at least 229 have died during the attempted crossing.
Meanwhile, the NGO ship Sea Watch is also waiting at sea despite bad weather conditions with another 129 migrants it rescued last Saturday.