The Italian coastguard said that only one crew member -- the captain of the Italian-flagged "Franco P" -- had survived the sinking.
Authorities said they had received a distress call on Wednesday evening that a boat was taking on water in the Adriatic Sea, around 85 kilometres off the coast of Puglia.
The vessel had been heading for Albania when it sank, the coastguard said on Thursday.
Officials said they had recovered the bodies of three people after a search amid high winds, while two remained missing.
The captain was rescued safely during the night by a Croatian boat in the area, the coastguard added.
A pontoon with 11 people on board -- which the tugboat had been towing -- remained adrift and was also being rescued.