Sevastopol port is home to Russia’s Black Sea fleet.
The city’s Russia-backed governor said the attack caused a blaze and injured 24 people.
Crimea, annexed by Russia in 2014, has been targeted by Kyiv throughout Moscow’s Ukraine offensive but has recently come under more intense, increased attacks.
Kyiv has repeatedly said it plans to take back the peninsula.
“The Ukrainian armed forces launched a strike with 10 cruise missiles at the S. Ordzhonikidze ship repair plant,” Russia’s defence ministry said on Telegram.Ukraine also “attempted an attack with three unmanned boats at a detachment of ships of the Black Sea fleet” during a sea crossing, it added.”Air defence systems shot down seven cruise missiles, and the patrol ship Vasily Bykov destroyed all unmanned boats.
“As a result of being hit by enemy cruise missiles, two ships undergoing repairs were damaged.”
Mikhail Razvozhayev, the Russia-backed governor of Sevastopol, Crimea’s biggest city, said on Telegram that he was at the scene of a fire at the shipyard.
“As a result of the attack, according to preliminary information, a total of 24 people were injured, four of them in moderate condition,” he said.