Russian jets struck the Syrian city of Idlib with a barrage of air strikes on Tuesday, hours after US President Donald Trump warned such a move would be a “grave mistake”.

At least 23 strikes were reported in several locations around the opposition-held northwestern province of Idlib, in what appeared to be the opening salvo of an expected offensive.

Rebels said the strikes had mostly targeted military positions of the Islamist group Hayat Tahrir al-Sham (HTS) and the Turkistan Islamic Party in the Jisr al-Shughour district, although at least three civilians were reported to have been killed.

Syrian government forces have for weeks been massing around Idlib in preparation for an assault on the last-remaining opposition stronghold.

Meanwhile, Russia has sent an armada of ships, including a Marshall Ustinov missile cruiser, to the coast of Syria in the Mediterranean, prompting speculation they were preparing for an imminent attack.