The earthquake in Yunnan province on the border with Sichuan province sparked landslides, blocked roads, trapped tourist buses, cut off communications and toppled or damaged tens of thousands of homes in the mountainous area.
The driver of a tourist bus died and three tourists were injured as falling rocks smashed into the vehicle, said the official Xinhua news agency.
Three other tourist buses were trapped by landslides triggered by the quake and aftershocks, Xinhua said.
In total, Xinhua said 24 people including seven tourists were injured. It did not reveal the nationality of the wounded tourists.
The quake toppled 600 homes and damaged more than 55,000 others, forcing over 9,000 local residents to relocate, Xinhua said.
Photos posted online showed soldiers helping to evacuate an injured woman, and damaged vehicles.
State television showed clouds of dust rising from landslides on green mountains, and pieces of broken cement that had fallen from buildings.
"During the earthquake this morning, the swaying the county felt was relatively severe," Xinhua quoted Liao Wencai, deputy party secretary of Deqin county, as saying.
Benzilan is in Deqin county, roughly 60 kilometres from Shangri-La county, which is named after the fictional mountain paradise in the James Hilton novel "Lost Horizon".
Local officials borrowed the name to attract more tourists to the area, which hosted around 7.6 million travellers last year.
Shangri-La itself was little affected, residents said.
"The building just shook a little bit and returned to normal fairly fast," an employee at a local hotel told AFP.
"Our business wasn't impacted since the quake-stricken area is outside of town."
The Ministry of Civil Affairs said it was sending tents, bedding and clothing to more directly affected areas.
The government had shut down some scenic spots in the area and ordered tourists not to visit them, Xinhua said.
More than 200 aftershocks had shaken the area, but measured no higher than a magnitude of 4.9, the China Earthquake Network Center said.
The earthquake was the second in the area in four days, after a 5.1-magnitude quake on Wednesday.
In July, twin quakes killed at least 95 people in China's western Gansu province.
A magnitude 6.6 earthquake in Sichuan province killed about 200 people earlier this year, five years after almost 90,000 people were killed by a huge tremor in the same province.