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