"High atmospheric pressure and a lack of wind are preventing the dispersal of polluting emissions, which are accumulating over the city," said a spokeswoman for the Catalonia regional government.
As the mist obscured the city skyline, the government issued an alert in a bid to reduce gas emissions, said the spokeswoman, who asked not to be named.
It lowered the speed limit for traffic, urged citizens to use public transport and asked factories to reduce their activity in the city of 1.6 million residents.
The level of toxic nitrogen oxide gas in the air had risen above the European Union legal limit seven times since December 4, the spokeswoman said, adding however that these exceptional rises did not threaten people's health.
The alert comes a day after the publication of a major study in the Lancet showing that prolonged exposure to tiny particles of soot or dust found in traffic fumes and industrial emissions may be more deadly below current EU air quality limits than previously thought.
Barcelona draws millions of tourists a year for its nearby beaches and city sights such as the decorative architecture of Antoni Gaudi, including the Sagrada Familia basilica.
But it also has one of the densest concentrations of motor vehicles in Europe and pollution gets trapped by the surrounding mountains, the spokeswoman said.
The alert was due to stay in force at least until Thursday.