A massive cooking gas explosion at a barbecue restaurant in northwestern China has killed 31 people and injured seven.

The blast happened at around 8.40pm local time on Wednesday in Yinchan, the capital of the Muslim Ningxia Hui Autonomous Region, as people were gathering on the eve of the Dragon Boat Festival holiday.

A woman cited by Chinese publication, The Paper, claimed she had been some 50m from the restaurant when she heard the bang.

She said thick smoke streamed from the restaurant and a strong smell of cooking gas was in the air.

Two waiters came out of the building after the explosion, with one collapsing immediately, she added.

Chinese President Xi Jinping demanded that those injured should get all-out treatment and a safety inspection should be carried out.

Several people were receiving treatment for burns and cuts from shattered glass.

More from World

The Central Government’s Ministry of Emergency Management said on social media that search and rescue work at the restaurant was completed early on Thursday morning.

Investigators had also been sent to explore the cause of the blast.