The UN has asked Israel to compensate Lebanon before but this is the first time a figure has been given.
The assembly voted overwhelmingly in favour by 170 votes to six, but its resolutions are not legally binding.
Israel's UN mission said the resolution was biased.
The slick was created when Israeli jets bombed a power station, releasing about 15,000 tonnes of oil into the eastern Mediterranean sea.
At its peak, it stretched for 120km (75 miles) along the shore.
The resolution calls the incident an "environmental disaster'' which caused extensive pollution.
The Lebanese ambassador to the UN, Nawaf Salam, said the resolution was "major progress".
But Israel's UN mission attacked the move, saying the country had already responded to the slick by working with the UN and other organisations.
"This resolution has long outlived the effects of the oil slick, and serves no purpose other than to contribute to institutionalising an anti-Israel agenda at the UN," a statement quoted by AP said.
The 2006 conflict began when the Lebanese militant group Hezbollah launched a raid into Israel and captured two Israeli soldiers.
Israel launched massive air and sea attacks on targets all over Lebanon, then invaded the south of the country.
More than 1,000 Lebanese, mostly civilians, and about 160 Israelis, mostly soldiers, died.
The UN General Assembly has passed a resolution asking Israel to pay Lebanon more than $850m (Â£544m) for a major oil spill during Israel's 2006 war with Hezbollah.