The US Geological Survey said the quake struck about 11km (seven miles) north-west of Wenping in Yunnan province at 16:30 local time (08:30 GMT).
A major rescue and relief operation is under way.
State broadcaster CCTV said the earthquake was the strongest to hit the province in 14 years.
The USGS said the quake struck at a depth of about 10km in a remote mountainous area in Yunnan province.
The tremor was also felt in the neighbouring provinces of Guizhou and Sichuan.
Xinhua said about 12,000 homes had collapsed in Ludian, a county of some 439,000 people, north-east of Yunnan province's capital, Kunming.
All of the casualties reported so far are in Qiaojia County of the Zhaotong region, which appeared to be the hardest hit.
Ma Liya, a resident of Zhaotong, told Xinhua that the streets there were like "battlefield after bombardment", adding her neighbour's house, a new two-storey building, had collapsed.
The government is sending 2,000 tents, 3,000 folding beds, 3,000 quilts and 3,000 coats to the disaster zone, the report said.
After initial reports of a death toll of 26, the numbers of casualties rose sharply, passing 150 before Xinhua reported a figure of 367 killed.
The news agency says the epicentre of the earthquake was in Longtoushan in Yunnan's Ludian county.
Chen Guoyong, the head of Longtoushan township, told Xinhua that many houses had fallen and rescuers had been sent to the epicentre.
Many people rushed out of buildings onto the street after the quake hit, electricity supplies were cut and at least one school collapsed, Xinhua reports.
Communications have also been seriously affected.
South-west China lies in an area that is prone to earthquakes.
An earthquake in Sichuan in 2008 killed tens of thousands of people.
And in 1970, a magnitude 7.7 quake in Yunnan killed at least 15,000 people.
At least 367 people have been killed and some 1,300 injured by a magnitude 6.1 earthquake in south-west China, state news agency Xinhua says.