About 700 people attended rallies against the measures, which include a night traffic ban from 10pm local time and a ban on leaving the city on the extended All Saints’ Day weekend.
The demonstration degenerated after about 50 people “started throwing dangerous objects at the police”, a spokesman for the Mossos d’Esquadra regional police told AFP.
Protesters threw security barriers at police, who responded with batons, according to an AFP correspondent.
As police tried to disperse the crowd, firefighters sprayed the streets with water to put out trash fires.
A total of 12 people – including minors – were arrested, police said around midnight Friday to Saturday, and about 20 officers were injured.
Further west, the city of Burgos (north) was also the scene of clashes between dozens of young protesters and law enforcement.
Despite numerous bans imposed in Spain since July, as the number of covid-19 cases began to rise, contamination has multiplied.
Spain, one of the worst-hit countries in Europe, saw 35,000 deaths from covdi-19 and 1.1 million cases.
Almost all Spanish regions were placed in isolation, in order to limit travel before All Saints’ Weekend, in the hope of avoiding a new quarantine.
In Catalonia, where bars and restaurants have been closed since mid-October, residents are banned from leaving cities on weekends.
Police carried out checks at the main exits from Barcelona on Friday.