The resolution was passed by 116 votes to 20, with more than 50 abstentions.
The UN Security Council is expected to discuss the resolution on Monday, but it is likely to face stiff opposition from China and Russia.
North Korea said the resolution was "a product of political plot and confrontation".
A UN report released in February revealed ordinary North Koreans faced "unspeakable atrocities".
The report detailed wide-ranging abuses in North Korea after a panel heard evidence of torture, political repression and other abuses.
It added that those accused of political crimes were "disappeared" to prison camps, where they were subject to "deliberate starvation, forced labour, executions, torture, rape and the denial of reproductive rights enforced through punishment, forced abortion and infanticide".
Most of the evidence came from North Korean defectors who had fled the country.
North Korea refused to co-operate with the report and condemned its findings.
The report led to a vote in the UN's human rights committee last month, which voted in favour of referring North Korea to the International Criminal Court (ICC).
China, North Korea's main international ally, is expected to veto any Security Council resolution when the matter is discussed next week.
On Thursday, the General Assembly also passed resolutions condemning the human rights records of Syria and Iran, but did not go as far as recommending a referral to the ICC.
General Assembly resolutions are non-binding but are seen as indicators of world opinion.
Both Syria and Iran condemned the respective resolutions against them.
Iran said the vote condemning its human rights record was "political, prejudicial and unbalanced".
The Syria resolution condemned both the government's violence against civilians and abuses perpetrated by the Islamic State group.
The UN General Assembly has voted in favour of referring North Korea to the International Criminal Court to face charges of crimes against humanity.