Despite intense lobbying from the religious right in the USA, the Democratic-led House of Representatives has defied a White House veto threat by voting to outlaw workplace discrimination based on sexual orientation.
"We are protecting the rights of millions of Americans. This is truly a historic day," House Speaker Nancy Pelosi from California declared to her colleagues.
She added: "Discrimination has no place in America." The measure passed 235-184, falling short of the two-thirds majority that would be needed to override a veto by President George W. Bush.
But the move is still being hailed as "a giant step forward" by equalities campaigners, which includes a signficant number of people within the churches.
However, backers of fair treatment for all face stiff opposition from the religious right and others in what has been a 30-year effort to enact such legislation.
However, while bill drew praise from civil rights groups, it has been criticised by some lesbian and gay organizations for not being broad and diverse enough in its remit, because it does not cover transgender men and women, whose gender identity now differs from what it was registered as when they were born.
The bill will now be sent to the Senate for concurrence. If it finally succeeds, it will prohibit employers from considering sexual orientation in deciding whether to hire, fire or promote someone.
In a letter to House members, however, a coalition of nearly 400 gay, lesbian and transgender groups wrote that they werer unhappy with the legislation because it "leaves some of us behind."
Democrats had initially sought transgender protection. But many backed off when they realized they did not have the votes, and feared transgender coverage could sink the protection being offered to others.
They argue that once the principle of non-discrimination on sexual orientation is written into law, the finalisation of the process will only be a matter of time.