By bus from Mexico City
The main approach for most visitors. Buses run hourly between Mexico City's TAPO terminal (Terminal de Autobuses de Pasajeros de Oriente) and Puebla's CAPU terminal (Central de Autobuses de Puebla). The journey takes about 2 hours. ADO is the most reliable operator, with comfortable reclining seats and reliable schedules; AU (Autobuses Unidos) is slightly cheaper. The fare is around MX$200–250 each way. From CAPU, taxis to the historic centre take about 20 minutes and cost around MX$100–150.
Buses also run from Mexico City's Terminal Norte and Terminal Poniente, and direct services connect Puebla to Oaxaca (4.5 hours, ADO), Veracruz (3 hours), and Mexico City Airport (around 2.5 hours with ADO GL, which picks up directly at the arrivals hall).
By car
Puebla is 130km southeast of Mexico City via the autopista 150D — a fast, well-maintained toll road. Allow 2 hours depending on Mexico City traffic; leave early to avoid peak-hour congestion exiting the capital. There are several toll booths along the route (total around MX$200). Parking in the historic centre is possible but tight — hotels with secure parking make life easier.
By air
Puebla has an international airport (Hermanos Serdán / PBC), about 20km west of the city, with domestic connections to several Mexican cities. However, given the excellent bus links from Mexico City, most international visitors fly into Mexico City and connect by bus.