The civil war has been largely dormant since a ceasefire agreed in 2020, but opposition forces still controlled the north-western city of Idlib and much of the surrounding province.
Idlib sits just 55km (34 miles) from Aleppo, which itself was a rebel stronghold until it fell to government forces in 2016.
The current offensive, which was launched on Wednesday, has been led by a jihadist group known at Hayat Tahrir al-Sham (HTS) and allied factions backed by Turkey.
HTS was regarded as one of the most effective and deadly of the groups fighting the Assad government and was already the dominant force in Idlib.
The rebels have taken control of Aleppo’s airport and dozens of nearby towns, according to the SOHR.
They also announced a curfew that came into force at 17:00 local time (14:00 GMT) and will remain in place until Sunday.
The Syrian army said rebels had launched “a broad attack from multiple axes on the Aleppo and Idlib fronts” and that battles had taken place “over a strip exceeding 100km (60 miles)”.
It said dozens of its soldiers had been killed and acknowledged that rebels had entered “large parts” of Aleppo.
Government forces said they had temporarily withdrawn from Aleppo, but added earlier that they were preparing a counterattack.
Pictures showed the roads leading out of Aleppo jammed with cars on Saturday as residents tried to leave.