The fire lasted nine hours till 10:30 a.m. at the Ruyi Inn in the Dukezong Ancient Town, where most houses are made of wood, a factor which added difficulties to firefighting, Xinhua reported citing a local government spokesman.
Investigators have ruled out the possibility of arson, and further investigation is under way.
More than 2,600 people were evacuated from three neighbourhoods of the town. No casualties have been reported.
Apart from the houses, shops and infrastructure facilities, the fire also burned some cultural relics, precious Tibetan thangka and other Tibetan art pieces.
The economic loss is being calculated.
The local weather forecast department said snow is expected from Saturday evening to Sunday and warned the evacuated people to stay warm.
Dukezong, meaning "town of the moon" in Tibetan, was built 1,300 years ago and became an important landmark on the South Silk Road.
It is now one of the most renowned resorts in Shangri-la, known for its well-preserved ancient Tibetan dwellings.