La police a déployé les gaz lacrymogènes et les canons à eau après les échauffourées dimanche, alors que des milliers de personnes répondaient à un appel lancé par des groupes d'extrême droite pour rejeter un pacte des Nations Unies sur la migration.
Selon la police, quelque 5 500 personnes se sont rassemblées dans le quartier européen de Bruxelles abritant plusieurs institutions européennes.
Certains ont brandi des banderoles portant des slogans, notamment "Notre peuple avant tout" et "Nous en avons assez, fermez les frontières".
La police est intervenue pour disperser la foule après que des projectiles et des pétards aient été lancés, a rapporté un journaliste de l'AFP sur place.
De nombreux manifestants étaient des partisans du parti Vlaams Belang, qui s'opposait à la signature de l'accord de l'ONU la semaine dernière dans la ville marocaine de Marrakech.
L'accord est conçu pour encadrer une approche internationale efficace de la migration - une question qui divise profondément à travers l'Europe et au-delà.
Selon la police, une contre-manifestation a attiré environ 1 000 personnes dans un autre quartier de Bruxelles.
Les autorités belges ont d'abord interdit les deux manifestations, craignant des troubles, mais le tribunal administratif suprême du pays, le Conseil d'État, a annulé la décision.

Mounted police officers chase protesters in Brussels Source: EPA / Julien Warnand
Lundi dernier, plus de 150 États ont approuvé le pacte, un pacte mondial pour une migration "sûre, ordonnée et régulière".
Mais les ONG ont exprimé des doutes quant à sa mise en œuvre sur le terrain et en haute mer.
Le pape François a exprimé dimanche son soutien à l'accord et a exhorté la communauté internationale à faire preuve de "responsabilité, de solidarité et de compassion" dans ses relations avec les migrants.
Mais les dispositions de l'accord ne sont pas juridiquement contraignantes et les détracteurs préviennent que cela pourrait encourager des flux de personnes incontrôlés.
En Belgique, le problème est devenu une patate chaude politique.
Le Premier ministre belge Charles Michel a été laissé à la tête d'une administration minoritaire après que le plus grand parti de sa coalition - le nationaliste flamand N-VA, qui dirigeait quatre ministères - ait renoncé à l'accord.
Certains manifestants ont demandé à Charles Michel de démissionner lors du rassemblement de dimanche et un certain nombre de partis d'opposition ont appelé à un vote de confiance envers le gouvernement.