Turkish president Recep Tayyip Erdogan has accused Russia of committing "massacres" in its support of the Syrian government.

Turkish officials say they have lost 14 soldiers in the past nine days and claim to have killed scores of Syrian government troops as they try to push back forces loyal to Syrian President Bashar al-Assad in the northwestern province of Idlib.

Mr Erdogan threatened to strike Syrian regime forces "everywhere" if Turkish soldiers come under renewed attack.

But Russia hit back and accused Turkey of failing to "neutralise terrorists" in Idlib.

Mr Erdogan's direct criticism of Russia is a rare move since 2015 when Turkey shot down Moscow's fighter jet that had strayed into its airspace.

The tensions over Idlib highlight the complexity of ties between the two countries, whose rivalry stretches back into their imperial pasts and has been characterised by centuries of mistrust.

Turkey has shored up its positions in recent days in the province, the last rebel bastion in Syria, with hundreds of vehicles carrying artillery and soldiers.

Syrian forces backed by Russian air strikes have pressed ahead with an offensive to retake Idlib from rebel groups that began in December, despite a 2018 deal agreed between Turkey and Russia in Sochi.

Turkish army military convoy in the province of Idlib, Syria

The offensive - which has retaken numerous towns and a crucial motorway - has killed hundreds of civilians and sent hundreds of thousands fleeing for safety in harsh winter conditions.

"The regime, backed by Russian forces and Iran-backed militants, are continuously attacking civilians, committing massacres and shedding blood," Mr Erdogan told a meeting of his ruling party in parliament. 

He said Turkey would do "whatever necessary" to push Syrian forces back behind the 12 observation posts it set up in Idlib under the Sochi deal.

"I hereby declare that we will strike regime forces everywhere from now on, regardless of the Sochi deal, if any tiny bit of harm comes to our soldiers at observation posts or elsewhere," he added.