Many accuse the Sunni-led government of trying to use Sunday's Formula One race as a distraction from human rights abuses and political problems.
An authorized rally attended by men, women and children west of the capital Manama was orderly but as it broke up, dozens of young men skirmished with security forces firing tear gas.
The youths, many wearing black and white masks, burned boxes, a rubbish bin and tires in the road. The tear gas sent the young men scattering.
Many in the Shi'ite Muslim-majority state accuse the Sunni-led government of trying to use Sunday's race to paper over human rights abuses and disguise political problems they say still plague the country, a close U.S. ally.
The opposition hopes the spotlight on the kingdom's biggest sporting event will help its struggle gain wider attention.
Bahrain has grappled with unrest since pro-democracy demonstrations broke out in February 2011, inspired by Arab Spring revolts that swept the region that year.
The protests were crushed by Saudi-backed security forces, dozens were killed and authorities razed Pearl Square in central Manama, where mostly Shi'ite demonstrators had camped out.
The race was canceled in 2011 when the protests were crushed. Last year's race went ahead against a backdrop of burning tires and riot police firing teargas at protesters throwing petrol bombs in Shi'ite Muslim villages.
At Friday's protest, many of the protesters held banners reading "I love Bahrain". Some carried roses or national flags. Posters called for the release of activists from prison. Others carried inflatable tires reading "No to the bloody Formula".
They chanted "We reject tyrannical rule," "With our souls, with our blood, we sacrifice for you Bahrain" and "Down with Hamad," in reference to the country's king. But prior to the clashes, the atmosphere was largely peaceful.
Mohamed al-Sughayer, a 61-year-old retired engineer, said he came to the protest to press for more democracy in the island kingdom, ruled by the Al Khalifa family.
"The regime is trying to say everything is stable in Bahrain, but stability cannot come through aggression," he said.
OVERNIGHT CLASHES
Much of Bahrain, a country only about a quarter the size of Luxembourg, has stayed quiet despite the sporadic unrest with cafes, restaurants and bars in the capital operating normally.
But small, near nightly clashes have continued between youths and police in mainly Shi'ite villages outside Manama.
Opposition activist Ala'a Shehabi told Reuters she believed small protests and clashes took place in about 15 locations on Thursday night and on Friday but could give no other details.
A 58-year-old government employee who gave his name as Abu Mohamed said he believed the overwhelming majority of Bahrainis did not accept the Grand Prix and that the race's economic benefits only went to a select few.
"It's just for a few people from the ruler's family. The money doesn't go for the government, only for the royal family. If it was for the people, we would accept it," he said, standing by a mosque in the western town of Diraz after Friday prayers.
Ali, a 24-year-old engineer who did not want to give his full name for fear of endangering his job prospects, said Bahrainis resented economic imbalances, especially expatriates who were given houses and jobs by the government.
Bahrain needed deep political change, he said, but many people would be satisfied with more modest adjustments, like empowering Crown Prince Salman al-Khalifa, seen as one of the country's more reform-minded officials.
"That could lead to something better for the country," he said. "But if both sides remain stubborn, we will stay in the same spot, even if it takes 100 years."
Bahrain denies accusations that it discriminates against Shi'ites, carries out arbitrary arrests or abuses detainees. It says it arrests suspects in accordance with the rule of law.
It says Shi'ite regional power Iran is inciting the unrest, a charge Tehran denies.
As Friday's protest rally took place, free practice for the race was going on at the Sakhir desert circuit about 19 miles southwest of the capital Manama.
Justice Minister Khalid al-Khalifa said last week the event — which Bahrain pays an estimated $40 million a year to host — should not be politicized.