How long does the train from Porto to Lisbon take? The average journey time by train between Porto and Lisbon is 3 hours and 40 minutes, with around 18 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.