Government attempts to clamp down on expressions of religious hatred have cleared the Commons, but are set for a rocky ride in the House of Lords.
Muslim groups have led calls for new laws
MPs gave the Racial and Religious Hatred Bill a third reading by 301 votes to 229, a majority of 72.
Shadow minister Dominic Grieve said the bill would not improve race relations.
But Minister Paul Goggins said: "I believe we need to take on the hate mongers, whether they are terrorists or whether they are extremists."
The bill would create a new offence of incitement to religious hatred and would apply to comments made in public or in the media, as well as through written material.
The plans, which have failed to make it through Parliament twice before, cover words or behaviour intended or likely to stir up religious hatred. Jews and Sikhs are already covered by race-hate laws.
They will now undergo scrutiny in the House of Lords.
Home Office Minister Mr Goggins described the bill as small, tightly focused with "not much room for manoeuvre", although he accepted it was "not the whole answer".
"But there is a gap and we seek to close that gap through this legislation," he said.
But shadow attorney general Mr Grieve warned that the legislation remained "catastrophically flawed".
It would not improve race relations and would prevent the lawful expression of differences of view, he said.
"If the government really wants to tackle this issue, it is going to have to get away from the promises made to various people of some equal playing field, accept that religion and race are different, start to look at the real nature of the problem and try to come up with some constructive solutions."
He also argued that a failure to define religion in the bill meant sects, including Satanists, Scientologists and believers in female genital mutilation would be protected.
He said the measures could struggle to get through the House of Lords.
But Mr Goggins said it would be the job of the courts to define a religion.
"We've left it to the courts, that's right that we do that because over time a religion may change," he said.
Liberal Democrat spokesman Alistair Carmichael said he was "embarrassed" that elected representatives were sending a bill to the Lords "that is so bad at this stage" when so much time had been spent on it.
"It is a bill that's ill-conceived in its thinking, it will be dangerous in its execution and I'm confident we have not seen the last of it," he said.
But Labour ex-Cabinet minister Frank Dobson said it was incumbent on MPs to protect their constituents from those who incited fear and hatred.
An attempt by the Lib Dems, backed by the Tories, that would have outlawed religious hatred as a pretext for stirring up hatred against a racial group was defeated by 291 votes to 233, a government majority of 58.
Labour MP Ann Cryer, who backed the amendment, said she was concerned that restrictions contained in the bill would stifle debate.
"I am simply not convinced that legislation which encourages further segregation, however well-intentioned, will provide the protection it aims to deliver," she said.
Last month a coalition of Tory and Lib Dem MPs failed to block the bill's second reading by 303 votes to 246, giving a government majority of 57.
Critics, including comic actor Rowan Atkinson, have argued that the measures will limit freedom of expression and stop them from telling religious jokes.
But Home Secretary Charles Clarke said the bill was not about stopping people from telling jokes about religion and would not curb artistic freedom.
He said it was "about behaviour that destroys individuals' lives and sets one community against each other".