The Scire, a 55-metre (180-foot) U212 submarine, was on its way to a training exercise when it hit the cargo ship in the Ionian Sea.
The ship was able to resume its course, but the submarine remained on the surface and was returning to base, the navy said.
It is investigating the cause of the accident.
The Scire, made by the German shipmaker HDW, entered service in 2007. It is named after an Italian sub that was sunk during World War II off the coast of what is now northern Israel, and its wreckage has become a popular scuba-diving spot.
READ ALSO: Italy finds 'body-filled' wreck of WWII submarine
Photo: Massimo Bondone