The average journey time by train between Lisbon and Porto is 4 hours and 8 minutes, with around 17 trains per day. The journey time may be longer on weekends and holidays, so use our Journey Planner on this page to search for a specific travel date.