At least 21 people have been killed and more than 60 injured in fresh clashes over the weekend between rival militias in Libya, pushing the North African country deeper into instability.

Witnesses said on Sunday that armed fighters from Tripoli's southwestern hilltown of Zintan, loyal to retired army commander Khalida Haftar, attacked the neighbouring town of Kekla which supports the rival Fajr Libya (Libya Dawn) armed group.

Haftar's army also clashed with the Shura Council of Benghazi Revolutionaries in the eastern port city for the control of the Benina airbase.

Rival groups have battled each other for the control of the strategic airbase since September.

Armed men supporting Haftar accuse successive Libyan governments of endorsing and relying on hardline armed religious groups in their bid to restore order in the restive country, amid the absence of a potent, national army.

The Haftar-led "Dignity" military campaign aims to "root out terrorists" from Libya.

The violence has pitted fighters, who previously fought together to topple former strongman Muammar al-Gaddafi, against each other amid disputes over ways of governing the country and sharing its oil wealth.

In June, the security situation deteriorated when armed groups, mainly from the western city of Misrata swept through the capital, backing a government appointed by the country's previous parliament.

A new parliament was elected in June. It is recognised by the international community but contested by the militia in control of the capital Tripoli and the eastern city of Benghazi. A rival parliament has been set up in the far eastern town of Tobruk.

On Friday, the UN said that fighting in Tripoli in the past three weeks had displaced at least 100,000 people, with another 150,000 fleeing the country, including many migrant workers.