You have two options - train or bus.
Train:
There are two fast through trains per day and several intercity trains.
I have posted an extract from the current timetable on Scribd. Click on or copy and paste the url below:
http://www.scribd.com/doc/12889011/Faro-Porto-Train-Timetable-2009-
Bus:
There are two bus companies RENEX and REDE Expressos operating the Faro to Porto route via Lisbon.
The Rede Expressos Timetable can be found here:
http://www.scribd.com/doc/12889183/Faro-Porto-Rede-Expressos-Bus-Timetable
The RENEX timetables are downloadable via my blog:
http://barlaventostravelblog.blogspot.com
Scroll down on the right and you will find at panel entitled:
»» Algarve & Portugal - Travel Transport Links
In this panel look for:
>>> RENEX Bus Service - Lisbon to Algarve (including Lagos) timetable
and
>>> RENEX Bus Service - Lisbon to Porto timetable
Click on each to download the relevant timetable in pdf