Nearly 40,000 people, mostly women and children, have been displaced over the past week by fighting northwest of Syria's Hama city, the United Nations said on Tuesday.

Since the rebel offensive began in the area a week ago, people have fled south and west to Hama city and neighbouring districts in Homs, Latakia and Tartous, the UN Office for the Coordination of Humanitarian Affairs said in a statement.

"Some internally displaced people are at risk of further displacement as the front lines continue to shift," it said.

Rebels led by the hardline Tahrir al-Sham alliance - formed by a group that once fought as al-Qaeda's affiliate in Syria - launched attacks on March 21 with the aim of retaking areas captured by government forces in 2016 and pushed into Hama city.

At least 10 rebel groups battling as part of the Free Syrian Army are also engaged in heavy fighting in northern Hama.

The Ahrar al-Sham rebel group, once the strongest in Syria's north, announced on Tuesday that it too had begun an offensive in Hama.

Ahrar al-Sham military spokesman Omar Khittab announced in a video posted to YouTube the beginning of a new stage of fighting "against this criminal regime and against its sectarian militias".

Ahrar al-Sham appears to have entered the fight in Hama as part of a separate operation because of recent clashes between it and Tahrir al-Sham in Syria's north.

READ MORE: US-backed Syria forces resume fighting near Tabqa dam

The Russian Defence Ministry said on Tuesday that Syrian government forces with Russian air support had "eliminated" more than 2,100 rebel fighters over the past four days, the state-run TASS news agency reported.

Colonel-General Sergey Rudskoy told the press that Tahrir al-Sham had deployed 10,000 fighters to Hama.

The numbers provided by the Russian Defence Ministry could not be independently verified by Al Jazeera.

The Syrian army announced on Monday that it had retaken several villages initially captured by rebels at the beginning of the offensive.

Additional reporting by Dylan Collins: @collinsdyl