Regime forces were expelled from Idlib city in March 2015 by the Army of Conquest, led by the Fateh al-Sham Front, which changed its name from Al-Nusra Front when it broke ties with Al-Qaeda.
Since then, a committee appointed by the Army of Conquest had run the city's affairs, electoral commission head Mohammad Salim Khodr told AFP.
But "after efforts from the city's residents, the Army of Conquest was persuaded to hand over the city's affairs to its residents, who would vote for a local council to manage it", Khodr said.
An AFP correspondent saw hundreds of people crowd around voting stations across the city on Tuesday to check they were registered before casting their ballots.
Voters, who had to be at least 25 years old and originally from Idlib, could choose from among 85 candidates who were running for the 25-member council.
Polling stations opened at 8:00am local time (0600 GMT) for 12 hours.
"I came here to vote in these free elections, which make us hold our heads up high," voter Mustafa al-Mohammad told AFP.
Signup to our newsletter and follow us on Facebook and Twitter!
According to Khodr, the council's 25 members will later elect a 10-member executive committee led by the equivalent of a mayor.
They will be responsible for "overseeing services and development projects... as well as aid and support to refugees and displaced people from other cities," Khodr said.
"We wanted to take part in this huge joy, in the unbridled desire by Idlib's residents to create a local council that represents them as civilians and manages the institutions," said candidate Hussam al-Din Dbis, who works as a surgeon.
Since Syria's conflict broke out, the population of Idlib city has swelled to an estimated 200,000 people.
Tens of thousands of people, including rebels, have been displaced to the city and broader province -- including as part of local reconciliation deals that opposition fighters strike with the government.
Under such deals, rebels agree to leave an opposition-held area in exchange for an end to regime siege or bombardment.
There are around 160 civilian-run councils across Idlib province, according to Mohammad al-Aref, a member of Idlib province's executive office.
These bodies manage "health and educational affairs, as well as public services" of towns and villages.
More than 310,000 people have been killed since Syria's conflict broke out in March 2011 with protests against President Bashar al-Assad.