Belgian riot police used tear gas and water cannon on Sunday to disperse thousands of people protesting in Brussels against a UN migration pact.

Demonstrators held aloft banners bearing slogans including "Our people first" and "We have had enough, close the borders."

The protest outside the European Union headquarters in Brussels was organised by Flemish Right-wing parties and had initially been banned, but the ban was overturned this weekend by Belgium's high court, which cited the right to protest.

A minority of the estimated 5,500 demonstrators became violent when they were asked to disperse and began throwing paving stones, street furniture and and firecrackers at security forces near the European Commission building.

Police responded with tear gas and water cannon.