The civil war has largely subsided since a ceasefire agreed in 2020, but opposition forces still controlled the northwestern city of Idlib and much of the surrounding province.
Idlib is just 55 km (34 miles) from Aleppo, which was itself a rebel stronghold until it was captured by government forces in 2016.
The current offensive, which was launched on Wednesday, is being led by the jihadist group known as Hayat Tahrir al-Sham (HTS) and allied groups backed by Turkey.
HTS was considered one of the most effective and deadly groups fighting the Assad government and was already the dominant force in Idlib.
Rebels took control of Aleppo airport and dozens of nearby cities, according to SOHR.
They also announced a curfew that took effect at 5:00 p.m. local time (2:00 p.m. GMT) and will remain in place until Sunday.
The Syrian army said the rebels had launched a “wide-ranging attack from several directions on the Aleppo and Idlib fronts” and that the fighting had taken place “over a strip of more than 100 km (60 miles)”.
It said dozens of its soldiers had been killed and acknowledged that the rebels had entered “a large part” of Aleppo.
Government forces said they had temporarily withdrawn from Aleppo, but had previously added that they were preparing a counterattack.
Pictures showed roads leading out of Aleppo jammed with cars on Saturday as residents tried to leave.
