The calculated distance (air line) between Viana do Castelo and Porto is approximately 39 miles respectively 63 kilometers.
By car or train, the actual journey to Porto is certainly longer, as only the direct route (as the crow flies) between Viana do Castelo and Porto has been calculated here.
Air line (approximately)
63 kilometers
34 nautical miles