Hundreds of flights were cancelled on Thursday from Istanbul's two main airports after the city was hit by a snowfall on the last day of the year.

The heavy snowfall left the city veiled under a curtain of white with snow covering the domes of mosques and the hills by the Bosphorus.

Tourists flocked to take pictures of the city at its most wintry.

But Turkish Airlines said it had cancelled 265 domestic and international flights from Istanbul's Ataturk Airport as well as 37 at Sabiha Gokcen airport on the Asian side of the city.

Private carrier Pegasus Airlines also cancelled 34 flights in-and-out of Sabiha Gokcen.

Some planes circled above Istanbul for more than two hours before landing at Ataturk Airport, while others queued for extended periods waiting to take off, Dogan news agency said.

Istanbul had a thick covering of snow by early Thursday, while almost 30cm fell in some parts of the city, causing disruptions to transport services and the closure of several roads.

All ferry services across the Bosphorus were been cancelled, city authorities said, warning citizens against non-essential travel.

At least one person was killed and dozens of others injured in a pile-up of 20 vehicles on a major highway in Istanbul, Dogan news agency said.

According to emergency services, at least 73 accidents have occurred in Istanbul since the snowfall began Wednesday.

Schools have also been shut down in more than 30 provinces across Turkey, including Istanbul.

Roads to more than 1,000 villages were closed in eastern Anatolia due to heavy snowfall while 765 villages were inaccessible in northeastern Turkey.

Temperatures across the eastern part of the country Thursday will drop to as low as minus 20C, weather authorities said. The snowfall is expected to last until midday on New Year's Day.