Regime army troops and their allies entered Khan Sheikhoun in northwest Syria, town where ground battles raged on Monday night, a monitor source said.
The Syrian Observatory for Human Rights, a UK-based war monitoring group, said the army seized the town's northern and eastern districts. The source, from one of the rebel factions there, said pro-regime forces entered only part of the town and rebels were waging fierce battles to fend them off.
Earlier, there were reports pro-regime forces were locked in heavy fighting with militants, leaving dozens of combatants dead.
The Syrian Observatory for Human Rights (SOHR) said "fierce clashes" between loyalist forces, militants and allied rebels were taking place one kilometer (0.6 miles) west of Khan Shaykhun in Idlib province.
The largest town in the south of Idlib, Khan Sheikhoun is located on the international M5 Aleppo-Damascus highway, which also passes through Homs.