Pro-independence protesters clashed with riot police in Barcelona and blocked roads across Catalonia as the Spanish government held a controversial cabinet meeting in the city on Friday.

What Prime Minister Pedro Sánchez had billed as a "show of appreciation" for Catalonia amid long-running tensions instead drew an outpouring of anger from many independence supporters who described the visit as a "provocation".

At least eleven people were arrested as groups of protesters barricaded streets in a failed attempt to prevent the cabinet meeting from taking place, an objective which then switched to keeping Prime Minister Pedro Sánchez and his ministers hemmed inside the Llotja de Mar palace.

As police charged against masked protesters who encroached on the security perimeter set up around the building, organisers of the self-styled Catalan Republic Defence Committees (CDR) urged demonstrators to remain peaceful and refrain from throwing objects at the security forces.

The Catalan government also put out messages on social media asking people to protest peacefully against the presence of the Spanish government.