Four people of German nationality were on board the yacht, which was moored at Marina di Loano, a leisure port located near Finale Ligure on the stretch of coastline between Genoa and the French border.
Three died and one 51-year-old woman, who managed to get out and jump into the water, was saved, Il Secolo XIX reported.
She was taken to hospital in a state of shock but otherwise not seriously injured.
Her partner and another couple were reported to have been trapped in the cabin. Several media said the woman who had died was the survivor's sister.
The local fire service said on Twitter that three bodies had been found on the boat.
— Vigili del Fuoco (@emergenzavvf) December 29, 2016
Firefighters were called to the blaze around 6:00am (0500 GMT).
The Ansa news agency said on its website that the yacht was a 22-metre Maiora model sailing under a German flag and the name Southern Comfort. It had been moored at the Marina for a year.