The calculated distance (air line) between Foz do Douro and Lisbon is approximately 170 miles respectively 274 kilometers.
By car or train, the actual journey to Lisbon is certainly longer, as only the direct route (as the crow flies) between Foz do Douro and Lisbon has been calculated here.
Air line (approximately)
274 kilometers
148 nautical miles