The average journey time by train between Porto and Lisbon is 3 hours and 38 minutes, with around 18 trains per day.