Starvation tactics against civilians are being used as a weapon of war by the Syrian government, Amnesty International says.
The rights group says at least 128 refugees have died at the besieged Yarmouk camp in Damascus as a result.
It says thousands of people still trapped there face a "catastrophic humanitarian crisis".
Amnesty says families have been forced to forage for food in the streets - risking being killed by snipers.
There were reports of fresh fighting on the edge of the camp earlier this week.
Yarmouk camp, which is estimated to house around 17,000-20,000 Palestinian and Syrian refugees, has seen some of the worst fighting in the capital.
It has been without electricity since April 2013 and most of the hospitals have closed after running out of even the most basic medical supplies.
"Syrian forces are committing war crimes by using starvation of civilians as a weapon of war," says Philip Luther, Amnesty's Middle East director.
"The harrowing accounts of families having to resort to eating cats and dogs, and civilians attacked by snipers as they forage for food, have become all too familiar details of the horror story that has materialised in Yarmouk."
Luther described the siege as "collective punishment" of the civilian population and called on the Syrian government to allow humanitarian agencies immediate access to the camp.
Residents told Amnesty that they have not eaten fruit or vegetables for months and at least 60% of people in Yarmouk are said to be suffering from malnutrition.
The camp was created as a refuge for Palestinians fleeing the 1948 Arab-Israeli war but it became a focus of heavy fighting in Damascus in late 2012 when opposition fighters moved in.
The majority of the 180,000 Palestinians at Yarmouk fled what had been their biggest community in Syria but around 20,000 have been trapped inside since government forces cut it off in July last year.
Last month the UN Security Council agreed a resolution calling for all parties involved in the conflict to immediately lift sieges, but this has so far failed to lead to an improvement in the situation of besieged civilians.
The UN made some aid deliveries but these were halted when a truce between rebels and pro-government Palestinian militants in the camp broke down.