Lawmakers in the state of Michigan, a cradle of the US labour movement, have passed a law limiting union power, amid mass protests at the statehouse.
Republicans, who control the state legislature, have succeeded in banning a requirement that workers pay union fees as a condition of employment.
The so-called “right-to-work” bill will now be signed into law by Michigan Governor Rick Snyder.
Passage of the measure makes Michigan the 24th right-to-work state.
Inside the state capitol, protesters chanted “shame on you” as the bill, which applies to public-sector workers, passed the chamber by a vote of 58-51.
Meanwhile, Democrats – who hold a 46-64 minority to Republicans – unsuccessfully tried to have the vote reconsidered.
Some 12,000 people turned out amid freezing temperatures to protest against the law, according to police estimates.
One demonstrator, Valerie Constance, a member of the American Federation of Teachers, told the Associated Press: “I do think this is a very sad day in Michigan history.”
Wrangles over right-to-work laws have played out over weeks in some states, but the bill passed in Lansing was rapidly pushed through only last week.
It was approved in the Michigan House of Representatives on Tuesday following its passage in the state senate last week.
Correspondents say backers of the bill were emboldened after an attempt to enshrine pro-union collective bargaining rights in the state constitution during last month’s elections failed badly.
Proponents of the right-to-work measure say it will bring more jobs and economic benefits to Michigan, while opponents say it will lead to lower wages.
John Proos, a Republican state senator who backed the bill, predicted public anger would abate because he said the new policy would bring new jobs to Michigan.
“As they say in sports, the atmosphere in the locker room gets a lot better when the team’s winning,” Mr Proos told the Associated Press.
Protesters rally at the state capitol as lawmakers push final versions of right-to-work legislation in Lansing, Michigan on 11 December 2012 Police in riot gear were deployed to control the protest
In an interview with a local news outlet on Tuesday, Gov Snyder called the measure “good legislation”, adding that it was designed to give workers a choice.
“This is about being pro-worker,” he said.
President Barack Obama spoke out on Monday against the law during an appearance in Michigan to discuss a separate matter, his plan to avoid nationwide tax rises and deep spending cuts due to take effect next year.
“These so-called right-to-work laws, they don’t have anything to do with economics; they have everything to do with politics,” President Obama said.
“What they’re really talking about is giving you the right to work for less money.”
Opponents of right-to-work fear its passage in Michigan, home to the US car industry, could give the movement its biggest boost yet.
Although nearly half of US states have right-to-work laws, Michigan is only the second to pass such a law in the last decade, following Indiana earlier this year.