The bus network that makes car-free colonial travel easy
Mexico's long-distance bus system is the backbone of overland travel here. From Mexico City's TAPO terminal (for Puebla and Oaxaca) or Observatorio and Norte (for the Bajío), you book by operator tier: Executive class on ETN, ADO GL or Primera Plus gives reclining seats, air conditioning, Wi-Fi and often a snack, while standard ADO or Futura is cheaper and stops more often. Routes run through the day and overnight; buy at the terminal or online a day or two ahead, especially before Semana Santa and the Guelaguetza in July.
Puebla is the natural first hop: roughly two hours from TAPO on a near-constant schedule, with the historic centre, the zócalo and the Amparo Museum a short taxi from CAPU terminal. Most travellers spend two nights there before continuing east. Puebla's altitude sits around 2,100 metres, so the first evening is better for a slow walk along Callejón del Sapo and an early dinner of mole poblano than a long day of sightseeing.
Puebla to Oaxaca: the classic southern leg
The Puebla–Oaxaca run takes about four and a half hours on a direct ADO or AU bus, usually leaving from CAPU and arriving at Oaxaca's central terminal on Calzada Niños Héroes de Chapultepec, a fifteen-minute walk or short taxi to the zócalo. Oaxaca's centre is compact and walkable: the Santo Domingo church, the Benito Juárez market and the Macedonio Alcalá pedestrian street are all within twenty minutes of each other. Stay in the centre rather than on the outskirts — the evening atmosphere around the zócalo is the reason people return.
Book two to three nights in Oaxaca and use it as a base: Monte Albán is eight kilometres west and reachable by shuttle or taxi, and the villages of the Etla valley are an easy morning's drive. Skip the temptation to squeeze Oaxaca into a single day between buses; the altitude and heat in the afternoon make rushed itineraries unpleasant. If you are heading onward to San Cristóbal de las Casas, the overnight bus takes roughly twelve hours and is worth booking in executive class.
Mexico City to the Bajío: San Miguel de Allende and Guanajuato
From Mexico City's Norte terminal, buses to Querétaro take about two and a half to three hours and form the gateway to the Bajío. From Querétaro, frequent local services reach San Miguel de Allende in about an hour and Guanajuato in roughly two. San Miguel's cobbled centre is small enough to cover on foot; the Jardín Principal, the Parroquia and the artesanía market are all within a few blocks. Stay close to the centre — the streets climb steeply and taxis are hard to find late at night.
Guanajuato rewards at least two nights. The city sits in a ravine, so addresses follow the hillside and walking involves stairs; the Jardín de la Unión, the Teatro Juárez and the Alhóndiga de Granaditas are close together. The callejones are best explored in the morning before tour groups arrive. If you only have time for one Bajío stop, I would book San Miguel for atmosphere and Guanajuato for architecture, and skip the day trip between them — the buses are frequent but the two towns deserve separate stays.
Practicalities: tickets, timing and where to stay
Distances and journey times add up quickly: Mexico City to Oaxaca is around six hours direct, Oaxaca to San Cristóbal about twelve, and San Miguel to Guanajuato roughly two. Buy tickets at the terminal a day ahead or online with the operator; passport or ID is checked at boarding. Reserve the earliest morning departure for the longest legs, when roads are cooler and terminals quieter. Avoid travelling on Sunday evenings and public holidays, when return traffic into the cities is heaviest.
For accommodation, book near the historic centre in each town rather than by the bus station. In Puebla, the blocks between the zócalo and Calle 5 de Mayo put you within walking distance of everything. In Oaxaca, streets north of the zócalo are quieter at night. In San Miguel, the streets around the Jardín Principal fill fastest, so reserve well ahead for December and January. Use the booking site to compare hotels within walking distance of each bus drop-off point, and check cancellation terms before committing to a multi-city plan.