Over the past decade, Mexico City has edged its way into the tourism spotlight that’s long shone on resort destinations like Puerto Vallarta and Cancún, exposing travelers to a facet of the country that extends beyond its beaches. Though we love to see the city rake in the recognition it deserves, Mexico’s coasts and capital are just the tip of the country’s proverbial iceberg. It is the 14th-largest country in the world by area, after all. From charming towns in the lesser-trafficked highlands to sleepy cities with ruins to rival Chichen Itza, here are seven destinations that prove just how magical Mexico can be when you leave the crowds behind.
7 of the Most Beautiful Small Towns in Mexico
1. Cuetzalan
Saturdays and Sundays in Cuetzalan, a town about two hours southeast of Mexico City in the Puebla state, are nothing short of magical. Every weekend, “flying men” known as voladores perform a traditional Mesoamerican dance while dangling from a pole outside the Parroquia de San Francisco de Asís. This ritual, originally created to promote rain and fertility, was recognized by UNESCO as an example of Intangible Cultural Heritage in 2009. Sundays in Cuetzalan also spell the weekly tianguis, an open-air market that invites Indigenous locals to set up stalls with fresh produce, flowers, handicrafts, clothing, coffee — you name it.
During the week, spend your days hiking to nearby waterfalls and sampling yolixpa, a digestive drink made from herbs, honey, and aguardiente that’s difficult to track down outside of Cuetzalan. Later, venture roughly 25 minutes outside the town’s bounds to see Yohuálichan, one of the most impressive pre-Columbian archeological sites anywhere in Mexico.
2. Taxco
Taxco is a small, striking city of whitewashed buildings and red roofs that’s spread out against the green hills of Mexico’s southern Guerrero state. Up close, the baroque Templo de Santa Prisca cathedral in Plaza Borda is the architectural centerpiece, a gift to the former silver-mining capital from one of its most celebrated barons, Don Jose de la Borda. Though tourism has taken over as Taxco’s primary source of revenue, it’s still worth visiting for the silver goods alone: You could spend days pursuing the many platerias, or silver shops, lining the street to stock up on jewelry, kitchenware, and other souvenirs.
3. Todos Santos
A Baja California Sur beach town that’s been gaining in popularity over the past few years, Todos Santos is everything that Los Cabos is not. Quiet and still somewhat undeveloped, it’s a fishing village that’s just as famous for its surf breaks as it is the saguaro cactuses that speckle its sandy shores. Todos Santos is bohemian but not cultivated, full of galleries that attract artists and spiritual enclaves that seduce soulful types. Still, visitors would be remiss to spend much time away from the world-class beaches that backdrop the town. There are at least six worth exploring in the area, but Playa Cerritos is often called the nicest, particularly for swimmers.
4. San Cristóbal de las Casas
Cobbled streets, colonial architecture, open-air markets: San Cristóbal de las Casas has all the hallmarks of must-see small-town Mexico. There’s more to absorb in this particular town than rows of Insta-worthy balconies dripping with flowers, however. Located in the Chiapas highlands a few hours from the Guatemala border, San Cristóbal is surrounded by a rich mix of Indigenous villages, large tracts of farmland, and fragrant pine forests.
El Arcotete Parque Ecoturístico is the perfect entry point into the highlands, with trails leading to rivers to be canoed, caves to be spelunked, and even a zipline to get your adrenaline pumping. Back in town, make time for the Amber and Jade Museums, as well as Casa Na Bolom, the former home of archeologist Frans Blom and his wife Gertrude Blom, a journalist, photographer, and anthropologist. Now a museum, the property is also a hotel fit for a truly special stay.
5. Campeche
Campeche is a historic harbor town on the Gulf of Mexico. To start, its fortified center earned the small city a World Heritage site designation in 1999. Not only are the 16th-century Spanish colonials bright and beautifully restored, but the port was also integral to the colonization of the Yucatán Peninsula. To learn about the region’s pre-Hispanic heritage, visit the Museo de la Arquitectura Maya, then experience history up close at the nearby Calakmul ruins. Later, wind down the day with a stroll along the malecón outside the inner walls before enjoying the fresh seafood. Eat up: You’ll need the fuel for nights filled with live music and salsa dancing.
6. Tlacotalpan
To simply exist in Tlacotalpan is a treat. Much of the town’s charm lies in its practically neon-pastel Spanish-Caribbean architecture, which received World Heritage status in 1998. Time spent here is delightfully slow, with days spent meandering along the Papaloapan River, sauntering around Plaza Zaragoza and Parque Hidalgo, and poking into the town’s handful of museums and galleries. Hardly crowded or action-packed, Tlacotalpan is the epitome of small-town Mexico and a definite must for anyone passing through the Veracruz state.
7. Izamal
Izamal is the Yucatán state’s Yellow City, so named for the coat of bright yellow paint covering the majority of the city. A sight to behold, Izamal also has a long, important history, having originally served as a site of worship for the Maya deities Itzamná and Kinich Kakmó. Grand pyramids are woven throughout the landscape, earning the city a second nickname: the City of Hills. Visit the 112-foot Kinich Kakmó pyramid about 15 minutes from the city center on foot for the views of Izamal in all its golden glory, followed by Itzamatul, Habuk, and the rest. You’ll appreciate the contrast to nearby colonial sites like Convento de San Antonio de Padua.