There was no immediate report of any casualties, and the cause of the fire was not yet known. State media, citing local authorities, said the blaze started in a guesthouse and was ruled accidental.
The fire broke out at about 1:30 a.m. Saturday in the ancient Tibetan quarter of Dukezong, which dates back more than 1,000 years and is known for its preserved cobbled streets, ancient structures and Tibetan culture. Dukezong is part of scenic Shangri-La county in Deqen prefecture.
Once called Gyaitang Zong, the county renamed itself Shangri-La in 2001, hoping to draw tourists by the reference to the mythical Himalayan land described in James Hilton's 1933 novel. Like hundreds of Chinese cities and counties, Shangri-La renovated its old neighborhood, Dukezong, turning it into a tourist attraction filled with shops and guesthouses.
Photos and video footage showed Dukezong and its labyrinth of houses engulfed in flames that turned the night sky red.
The fire destroyed about 242 houses and shops in Dukezong, dislocated more than 2,600 people, and torched many historic artifacts, the official Xinhua News Agency said.
He Yu, a resident, said she woke to loud, explosion-like sounds to find the old town on fire.
"The fire was huge," she said. "The wind was blowing hard, and the air was dry. I was scared because my home is a little distance away from the ancient town. It kept burning, and the firefighters were there, but there was little they could do because they could not get the fire engines onto the old town's narrow streets."
With fire engines kept out, local residents lined up to pass buckets of water to combat the fire, the Deqen prefecture government said.
Most of Dukezong's buildings are made of wood and the fire spread easily because of dry weather, state-run China Central Television said.
More than 2,000 firefighters, soldiers, police, local officials and volunteers responded to the blaze and brought it under control at around 11 a.m., the Shangri-La county government said