"We would have preferred a consensus but we could not reach that, and it is not for want of trying," Luxembourg Interior Minister Jean Asselborn, whose country holds the rotating presidency of the EU, told a news conference.
Slovak Prime Minister Robert Fico said pushing through the quota system had "nonsensically" caused a deep rift over a highly sensitive issue and that, "as long as I am prime minister", Slovakia would not implement a quota.
And Czech Interior Minister Milan Chovanec tweeted: "We will soon realize that the emperor has no clothes. Common sense lost today."
This year's influx of nearly half a million people fleeing war and poverty in the Middle East, Asia and Africa has already sparked unseemly disputes over border controls as well as bitter recriminations over how to share out responsibility.
Refugees and migrants arriving in Greece and Italy have been streaming north to reach more affluent nations such as Germany, prompting countries in central and eastern Europe alternately to try to block the flow or shunt it on to their neighbors.
European Commission Vice President Frans Timmermans said no country had challenged the decision before the vote, and that the Commission would make sure it was implemented.
Read MoreEurope to relocate 120,000 migrants: Reports
"We know some member states were not in favor of the proposal, but those member states said: 'Let's have a vote, we will respect the outcome of the vote'. And so all the member states respect the outcome," he said. "The Commission is under an obligation to enforce what was agreed."
French President Francois Hollande said there would be consequences for countries that refused to implement the deal.
Governments can be fined by EU courts for failing to implement EU law, and ministers in some wealthier, western states have also warned that they could reduce future subsidies to poorer neighbors that do not show "solidarity" in the refugee crisis.
"The sanctions exist," Hollande told the French TV station BFMTV from London. "So these countries will be putting themselves in a situation where what they are receiving from Europe could be suspended. You cannot ask Europe for support and refuse when Europe asks for solidarity."
At an emergency summit on Wednesday, EU leaders want to focus on boosting aid for Syrian refugees in Turkey and the rest of the Middle East who have not set off for Europe, and tightening control of the bloc's external frontiers.
East European states with no tradition of integrating large numbers of Muslims fear the impact of migrants on their societies and are keen to avoid any signal that might encourage even more desperate people to set sail across the Mediterranean.
The U.N. refugee agency, the UNHCR, said the EU decision was an "important first step in a united European response to managing the refugee crisis".
But spokeswoman Melissa Fleming added: "This must be coupled with the immediate creation or expansion of facilities in Greece and Italy to receive and assist large numbers of arriving refugees and migrants, and where people would be screened and identified for relocation."
Read MoreEurope will receive up to 1M asylum applications this year: OECD
The 120,000 people the bloc was seeking to share out were equivalent to just 20 days' worth of arrivals at the current rate, Fleming said.
Under the scheme, 50,400 asylum-seekers will be relocated from Greece to other member states, and 15,600 from Italy.
Because Hungary refused to take part in the relocation scheme, the remaining quota of 54,000 asylum-seekers who would have been moved from Hungary will instead be relocated in the first instance from Italy and Greece, after the first year.
An EU diplomat said some might also come from other countries that find themselves on the front line of the migration flow.
Together with 40,000 covered in an earlier agreement, the European Commission said the EU was now in a position in the next two years to relocate a total of 160,000 people "in clear need of international protection" from states that have borne the brunt of the influx.
Norway became the latest member of Europe's 26-nation Schengen area, where people can normally travel across frontiers without showing a passport, to say it would intensify border controls.
The Organisation for Economic Co-operation and Development said Europe could expect a record one million people to request asylum this year, and almost half would probably qualify to be taken in.
In Germany, by far the most popular destination, the head of domestic intelligence said there was a big worry that radical Islamists living in the country could try to recruit young refugees "who could be easy prey".