The UN Security Council has toughened sanctions against Eritrea after its East African neighbours accused it of continuing to provide support to Islamist militants.
The resolution requires foreign companies involved in Eritrea's mining industry to ensure that funds from the sector are not used to destabilise the region.
Thirteen council members voted for the resolution and two abstained.
Eritrea denies the accusations.
East African nations had called for tougher sanctions after a UN report found that Eritrea continued to support al-Shabab and other armed groups in Somalia.
Early drafts of the resolution included measures like banning foreign investment in Eritrea's mining sector and blocking a remittance tax imposed on nationals overseas.
But these were watered down because of opposition from some European states concerned they would hurt the Eritrean people, and from Russia and China, which abstained in the vote.
Nevertheless Eritrea called the resolution outrageous and strongly denied the allegations against it.
Officials from five East African nations addressed the council by video conference before the vote, including Ethiopia's Prime Minister Meles Zenawi.
His country fought a war with Eritrea, but he insisted this was not a "family quarrel" between the two countries.
"Eritrea is a prime source of instability for the whole region," he said. "It's a problem of attitude, of a certain clique in Asmara that has never grown up; it's a problem of lawlessness and reckless disregard for international norms."
Eritrea had requested that its president be allowed to speak to the UN Security Council when the draft was first circulated.
Diplomats say because of American opposition it did not get an invitation until late last week. It angrily rejected this as too late.
The resolution calls on countries to exercise vigilance to prevent Eritrea from diverting funds to destabilise the region.
It also condemns Asmara for allegedly planning an attack on an African Union summit held in Ethiopia earlier this year.