Participants on the 60-mile course were subjected to hail, freezing rain and gale-force winds after a sudden drop in temperatures at the Yellow River Stone Forest in Baiyin city, Gansu province, China’s state-run Xinhua News Agency said.
A rescue operation was launched that spanned 24 hours including overnight, and which was concluded on Sunday after the dead bodies of all 21 missing runners were found and transferred away from the site. The search, involving more than 700 people, was made more difficult by the mountain’s complex terrain.
A number of elite runners were among the dead, including the well-known athlete Liang Jing, who had recently won a 100km (60 mile) race in Ningbo, according to Xinhua.
Pictures and videos of the start of the marathon showed some of the runners wearing just shorts and t-shirts under overcast skies. Several participants of the race posted their videos on WeChat groups, raising SOS alerts and requests for help.
The cause of death for most of the runners was believed to be hypothermia.
Bayin city mayor Zhang Xuchen apologised as organiser of the event at a news conference.
“We express deep condolences and sympathy to the families of the victims and the injured,” he said.
Of the 172 people who participated in the race, 151 were confirmed safe. Some were treated for minor injuries and were stable, Xinhua said.
One of the participants who quit and returned to safety wrote on social media that the race had previously been held four times, according to the Associated Press.
He added that the weather conditions caught the runners off guard and that he had struggled to warm up.
“I ran two kilometres before the starting gun fired to warm up... but the troublesome thing was, after running these two kilometres, my body still had not heated up,” he posted to WeChat.
He later told Xinhua that his fingers were numb and that he felt dazed by the time he decided to turn back.
A reporter for state broadcaster CCTV said that some of those farther along the path had fallen into mountain crevices and were in need of rescue. They added that the path the runners faced was narrow and reached an altitude of thousands of feet.
According to the China Meteorological Administration in Beijing late on Friday, Baiyin city had been forecast to see moderate-to-strong winds from Friday night through Saturday.
But another weather report on the website of the provincial weather services predicted a "significant" drop in temperature in most parts of Gansu till Sunday.
The contrast in weather reports, along with the lack of contingency planning by the organisers of the event and the Baiyin government, has sparked public outrage on Chinese social media.
Several also questioned the accuracy of the weather forecast and why it was neglected before starting a large-scale marathon.
"Why didn’t the government read the weather forecast and do a risk assessment?" said one commenter online. "This is totally a manmade calamity. Even if the weather is unexpected, where were the contingency plans?"
Veteran marathoners directed their anger at the organisers of the race and said they should have been better prepared to conduct the emergency rescue of the athletes.
Chen Penbin, one of China’s most famous ultra-marathon runners, told the state-run Global Times that while weather could be unpredictable, the organisers should have been more considerate of the safety of runners as the trail was at high altitude with complex terrain.
In addition, the “organisers should also consider whether contestants from lower altitude places can adapt to the race held at an altitude of more than 2,000 metres,” he said.
The local government said it had formed a team to carry out an in-depth investigation of what went wrong with the event.