The calculated distance (air line) between Puebla and Oaxaca is approximately 167 miles respectively 269 kilometers.
By car or train, the actual journey to Oaxaca is certainly longer, as only the direct route (as the crow flies) between Puebla and Oaxaca has been calculated here.