President Assad’s forces have retaken most of the land lost recently to rebels in Hama province, according to the Syrian Observatory for Human Rights.
Free Syrian Army fighters and groups allied with jihadists had mounted an assault in the strategically important area.
But Syrian troops have recaptured 16 villages in a counter-attack, strengthened by reinforcements sent by the regime and Russian air strikes, according to the UK-based monitoring group.
In air raids blamed by the opposition on Syrian government warplanes, a hospital in Hama province is said to have been struck.
Medical charity Medecins Sans Frontieres says two people were killed and there is evidence chemical weapons were used. Damascus denies using chemicals or attacking hospitals.
Medical staff at MSF-supported Latamneh hospital in #Syria's north Hama suggest the use of chemical weapons during March 25 aerial attack— أطباء بلا حدود سوريا (MSF_Syria) 31 mars 2017
Up to 40,000 people have reportedly fled fighting in the area.
Clashes in #Hama #Syria displaced up to 40,000 people at risk of further displacement as the frontlines shift: https://t.co/BpF324eO6c pic.twitter.com/uk2NJLY4Fp— OCHA Syria (@OCHA_Syria) 28 mars 2017