Far-right League leader Matteo Salvini has tried to ban the Dutch-flagged vessel from approaching under a "closed ports" policy, which has seen migrants repeatedly stranded at sea.
The German charity ship Sea-Watch with 42 migrants aboard entered Italian waters on Wednesday, defying an order from Rome to stay away, the ship’s press office said.
It said the captain had decided to head to the island of Lampedusa because the situation on board was “now more desperate than ever” and that he was permitted to enter the waters under maritime emergency law.
According to a decree approved in June, the Italian Interior Ministry, headed by far-right League leader Matteo Salvini, has the power to deny access to territorial waters to vessels that it considers are a risk to security or public order and fine them.
Italy cheered a subsequent ruling by the European Court of Human Rights that the country had no obligation to allow migrants to disembark from the vessel, although it was obliged to offer assistance at sea.
The ship picked up 53 migrants off the coast of Libya and had remained in international waters since June 12. Eleven migrants have already been taken off the ship by the Italian coastguard due to health reasons.