The calculated distance (air line) between Ecatepec de Morelos and San Miguel de Allende is approximately 142 miles respectively 228 kilometers.
By car or train, the actual journey to San Miguel de Allende is certainly longer, as only the direct route (as the crow flies) between Ecatepec de Morelos and San Miguel de Allende has been calculated here.
Air line (approximately)
228 kilometers
123 nautical miles