The fastest route by public transport from Lagos to Lisbon is by bus operated by Eva Transportes taking 3hrs. 45min. Return Fare is € 34.20.
If you go to my blog at:
http://barlaventostravelblog.blogspot.com/
Scroll down on the right hand panel until you come to the section entitled:
»» Algarve & Portugal - Travel Transport Links
You will find two entries -
>> Eva Bus Service - Lagos to Lisbon Sete Rios
>> Eva Bus Service - Lisbon Sete Rios to Lagos
These will give you direct access to the relevant timetables.
Renex also operate a service on this route - there is also a link in the panel to their timetables. However, this service takes longer - up to 5 hours if traffic in Lisbon is bad.
The train is pleasant but takes longer. Unless you get up very early and get the 6:11, you miss the best part of the day. However, the train trip is a great way to see Portugal and crossing the 25 de Abril bridge as you enter Lisbon on a sunny day is worth the extra effort.
The following is an extract from the current timetable.
Click on the image to enlarge.
Prices are currently up to € 21.00 per person each way.