Riot police clashed with protesters outside the Nou Camp during Wednesday's match between Barcelona and Real Madrid as authorities sought to keep Catalonia's separatist movement from disrupting the game.
Riot police used batons to force the crowd back, some protesters threw objects at officers lined up behind shields, while other protesters fought among themselves.
Authorities said nine people had been arrested and Spain's national news agency Efe reported that 12 were injured.
At least four plastic trash cans were set on fire, and a smell of smoke wafted into the Nou Camp.
Inside the stadium some fans held up blue signs saying 'Spain, Sit and Talk' and 'Freedom'. Others chanted, in Catalan, for political prisoners to be freed.
Those messages referred to the Spanish government's refusal to discuss the region's independence, as well as the recent imprisonment of nine of the movements leaders convicted for their roles in a failed 2017 secession bid.
The match was halted only briefly when some fans threw balls onto the field bearing a message for the Spanish government to open a dialogue with the separatists.
Thousands of police and private security guards were deployed in and around stadium.
When the game ended, fans were directed to leave via the stadium's south side to avoid the clashes outside.