Fewer states than expected supported Monday's resolution, which passed by 33 votes to one, with 13 abstentions.
The UN rights body, meeting in Geneva, accused Israel of systematically destroying the Palestinian infrastructure and of targeting civilians as well as medical facilities.
All European Union countries abstained and Canada voted against the resolution.
At least 4,000 Palestinians have been wounded since Israel launched its offensive on December 27 after a ceasefire with Hamas, which rules the territory, ended on December 19.
Rupert Colville, a spokesman for the UN High Commissioner for Human Rights, told Al Jazeera: "In the end they [the UN] passed the resolution, it was not unanimous. I would not say it was that heated, at the end of the day there were still differences of opinion.
"Many states praised the Palestinian delegation for the flexibility they had shown in the negotiations, but they could not quite reach a consensus," he said.