BEIRUT (Reuters) - Restoring full control over Aleppo, Syria's most populous city before the war, has been seen as critical to the fortunes of Syrian President Bashar al-Assad in a multi-sided civil war now in its sixth year.
Insurgents who have held the eastern part of the city since the early days of the war have now lost most of their besieged enclave to a government assault.
Famous for textiles, soap and its UNESCO-listed citadel, Aleppo was Syria's economic hub and of huge historic and cultural importance.
Below is a timeline of the key events in the battle for control of the city:
2011: VIOLENCE BREAKS OUT IN SYRIA AFTER GOVERNMENT CRACKS DOWN ON PRO-REFORM PROTESTS
In March 2011, mass demonstrations break out in the Syrian capital Damascus demanding political reform, civil rights and the release of political prisoners, soon spreading to other cities. Aleppo has a few small protests.
In early 2012 rebels take control of the rural areas northwest of Aleppo city, besieging the Minnegh military air base and the largely Shiite towns of Nubl and Zahra.
Protesters in Aleppo are shot at for the first time in July 2012 and rebels start to fight for the city itself. Poorer eastern districts quickly fall to the insurgents. Fighting in the Old City damages much of the historic covered market.
Rebels cut the main highway from Aleppo to the south, forcing government forces to use a longer, alternative route to reach it from the capital.
The western, government-held half of Aleppo comes under almost complete siege as rebels briefly also cut the alternative route. But in October government and allied forces retake it and strengthen their position.
In April 2013 the 1,000-year-old minaret of Aleppo's Umayyad Mosque collapses after it was struck during fighting.
2014: REBELS AND GOVERNMENT CONSOLIDATE POSITIONS IN ALEPPO
The government's control of the skies starts to show as it increasingly uses jets and helicopters to strike rebels.
A series of rebel advances puts the government under pressure in northwest Syria, where Aleppo is located. But in October 2015 the first Russian air strikes take place and swiftly put the rebels onto the back foot.
February advances by the army and allies with Russian air support cut the most direct road from Turkey to rebel-held east Aleppo, recapturing Minnegh airbase, ending the rebels' siege of Nubl and Zahra and putting pressure on insurgent supply routes.
On 27 July government forces fully encircle eastern Aleppo for the first time, but the siege is broken 10 days later by a rebel counterattack on the Ramousah district that briefly opens a perilous way into eastern Aleppo from the south.
Russian air power and Shi'ite militias from Iraq and Lebanon help the army recapture Ramousah on Sept 8, firmly re-encircling the rebel enclave. On Sept 22, the heaviest air strikes in months hit east Aleppo and the government announces a new offensive to retake it.
After weeks of intense bombardment, in which many hospitals and other civilian infrastructure are hit, Russia and Syria's government declare a pause in their campaign on Oct 18, urging rebels and civilians to quit east Aleppo.
A last rebel offensive aimed at breaking the siege begins on Oct 28 from the countryside to the city's west, but after making some progress in the first two days, it loses momentum and all gains are reversed within a week.
Intense air strikes resume against east Aleppo on Nov 15, putting all hospitals out of action by Nov 19. On Nov 28, pro-government forces take the northern part of the rebel sector in a sudden advance that reduces its size by more than a third.
Another swift advance on Dec 5 and 6 brings the al-Shaar district and much of Aleppo's historic Old City under government sway, leaving the rebels trapped in a small southern portion of their former enclave.
On Dec 12, the army makes a series of new advances after taking the Sheikh Saeed district after days of intense fighting and under a heavy aerial bombardment, leaving rebels stuck in only a tiny part of the city.
Reporting by Lisa Barrington; Editing by Angus McDowall and xxx xxxx