The government has survived a revolt by Liberal Democrat and Conservative MPs over its plans to increase university tuition fees in England.
The policy was approved by 21 votes, with the coalition's majority cut by almost three-quarters following an impassioned five-hour Commons debate.
Twenty-one Lib Dem MPs rebelled, along with six Conservatives.
The coalition motion, backed by 323 votes to 302, would raise fees to a maximum of £9,000 a year.
Ministerial aides quit
The debate took place while thousands of students staged protests at Westminster and after the outcome became clear, violence intensified and windows in Treasury buildings were smashed.
Ministers said that the fees increase was necessary and fair, but Labour argued it would deter the poor from going to university.
Some 21 Lib Dems rebelled, while 27 - including the party's ministers - backed the change, and eight abstained. Six Tory MPs voted against the motion and two abstained.
All Lib Dem MPs said before the election that they would oppose any rise in tuition fees, although the coalition deal included an agreement to allow them to abstain in any vote on the issue.
Lib Dem MPs Mike Crockart and Jenny Willott resigned as junior ministerial aides to enable themselves to vote against the fees rise, as did Conservative Lee Scott.
Former Lib Dem leaders Sir Menzies Campbell and Charles Kennedy were among those who opposed the government, whose Commons majority of 83 was cut to 21.
The motion, which still has to be backed by the House of Lords, raises the ceiling on annual tuition fees for English students to £9,000 - although the government says that would only apply in "exceptional circumstances" where universities meet "much tougher conditions on widening participation and fair access".
Another motion, also backed by a 21 majority, says the "basic threshold" for fees should rise to up to £6,000 a year - up from £3,290 at the moment. This would be introduced for the 2012-13 academic year.
Reacting to the government victory and the Lib Dem rebellion, Business Secretary Vince Cable acknowledged the coalition and his party had come through a "difficult test".
"We are going to be resilient and go forward as a team. There will be no recriminations," he told the BBC.
He added: "I think the job now is to try and explain this policy to the country. It is nothing like as threatening to young people going to university as has been portrayed. We also need listen to people and help improve the policy as we go along."
Lib Dem deputy leader Simon Hughes, who abstained, said that the "level of fee increase... may have a significant disincentive effect on youngsters going to university".
Conservative Universities Minister David Willetts said the proposals struck the "right balance" between enabling as many people as possible to get a degree and helping universities sustain their finances.
"The package is fair for students, fair for graduates and affordable for the nation," he said.
Labour leader Ed Miliband said he would continue to campaign against the changes but did not give a guarantee that he would reverse them in office.
"I feel this is a bad day for families and young people up and down the country," he said.
"I think it's a bad day for democracy as well, because it doesn't just damage trust in the Liberal Democrats that they broke their promises, frankly it damages trust in politics as a whole."
During the Commons debate, several Lib Dem MPs and some Conservatives spoke against the government's plans.
Tory MP Julian Lewis said that if the government could not persuade the public about the £9,000 fees move "it will be rejected".
"Even if you have a policy that you genuinely think is fair, if you cannot convince people that it is a fair policy, then it will fail," he told MPs.
"I would be deterred [by the fees rise]. I don't want others to be."
Lib Dem MP Greg Mulholland, who had called for the vote to be delayed, said his party should not have been put in a position where they had to support the fee hike given their long-term opposition to the policy.
"Sometimes governments are wrong and sometimes you need the courage to say so and I am doing that today," he said.
"I am voting against the government today because I simply cannot accept that fees of up to £9,000 are the fairest and most sustainable way of funding higher education."
Shadow business secretary John Denham said in the debate that the fee increase was being driven by the government's decision to have deep cuts to university funding.
"Even if they had just cut universities the way they are cutting other public services, students would be facing fees of no more than £4,000," he told the BBC.
Dozens of universities have been occupied by students - with students in five more universities occupying buildings this week.
For the first time, there have also been occupations of schools by pupils.
Aaron Porter, president of the National Union of Students, said the students had "won the arguments and the battle for public opinion".
"We have lost in the House of Commons today only because MPs have broken their promises. We are incredibly disappointed and angry with the politicians who have let us down so badly," said Mr Porter.
There has been no consensus within the university sector about the fees deal.