The United Nations Human Rights Council has voted to send a team to Lebanon to investigate alleged abuses by Israel.
Some Israeli bombs have hit residential areas
The council approved the resolution, proposed by a group of states led by Islamic countries, by 27 votes to 11.
Many of the resolution's opponents criticised it for not mentioning Hezbollah attacks on Israel.
Addressing the emergency session in Geneva, the UN's human rights chief, Louise Arbour, chided both sides for inflicting suffering on civilians.
"Israeli attacks affecting civilians continue unabated," she told a special session of the UN Human Rights Council.
"Also unrelenting is Hezbollah's indiscriminate shelling of densely populated centres in northern Israel," she said.
The resolution alleges systematic human rights violations by Israel using terms like war crimes, crimes against humanity and massacres.
Israel and the United States, although not members of the council, urged a vote against, calling the resolution unbalanced.
European Union countries, alongside Japan and Canada, voted against, calling it one-sided and divisive.
Those voting for included China, Russia, India, Cuba, Brazil, Argentina, Mexico, Peru, Ecuador, Uruguay, Zambia and South Africa, as well as members of the Organisation of the Islamic Conference.
The Israeli ambassador to the UN in Geneva, Itzhak Levanon, said civilians on both sides were suffering but some council members were ignoring Hezbollah's "vicious campaign of terror".
But Lebanon's ambassador, Gebran Soufan, made an impassioned plea for support, saying the world's top human rights body could not neglect the suffering taking place in his country.
The resolution passed highlights once again the bitter divisions of the Middle East, the BBC's Imogen Foulkes says.
Human rights groups and aid agencies struggling to bring relief to Lebanon all agree the humanitarian situation in the region is becoming catastrophic, our correspondent notes.
But this resolution, revealing once again just how politicised the United Nations can be, is probably not what they were looking for, she adds.
More than 1,000 Lebanese, most of them civilians, have been killed in the month-long conflict, Lebanon says. Some 123 Israelis, most of them soldiers, have also been killed.