The calculated distance (air line) between Santa Cruz Amilpas and Puebla is approximately 169 miles respectively 273 kilometers.
By car or train, the actual journey to Puebla is certainly longer, as only the direct route (as the crow flies) between Santa Cruz Amilpas and Puebla has been calculated here.
Air line (approximately)
273 kilometers
147 nautical miles