Oporto is the second largest portuguese city and is 550 km far from Faro.
Flights between Porto and Faro are operated through the TAP and RYANAIR. This trip can last about 45 minutes, with Ryanair (direct flight) or a little bit more when operated by TAP as this flights have one stopover in Lisbon.
Trains in Portugal are operated by CP and there are daily connections between Porto and Faro, with trips that can take up to 6h. Alfa Pendular (high speed train) is the most convenient and fastest choice, particularly for longer journeys, such as this one. Prices can cost more than 40€/person.
Rede EXPRESSOS provides daily connections between Oporto and Faro (please check the schedule). The trip can last from 6h to 10h, depending on the number of stopovers.
Car trip Oporto-Faro can take 5h to 6h if you take highways (A1/A10/A2/A22). Toll costs are around 70€. In Portugal, 1 liter of gas costs 1.50€/1.60€. A22 charges electronic toll.