Some residents have resorted to bartering or paying over the odds for food as the lockdown grinds on.
One said she paid 400 yuan ($63) for a box of instant noodles and a soda, adding: “I’m just trying to stock up. I’m not sure how long this will continue.”
On Tuesday, Chinese authorities said another 23,342 people in Shanghai had tested positive, with 994 showing symptoms. Nationwide, infections are at around 200,000.
Other parts of China continue to be locked down, including neighbourhoods in Beijing, prompting a wave of panic buying as people prepare to possibly hunker down for weeks, with grocery store aisles noticeably more empty on Tuesday.
Larry Lang, a Chinese economist, took to social media this week after his 98-year-old mother died while waiting for emergency treatment for kidney disease because of Covid restrictions, which require negative results before a patient can be admitted to hospital.
Mr Lang’s mother waited for hours, but had passed away by the time her test results were returned.
The southern city of Guangzhou, a major manufacturing hub, has also begun closing down to most arrivals as the outbreak in China grows.