As mentioned above, the distance between Faro and Porto by train is 627 km or 390 mi.