You will need to get a bus to Seville from which ever port you arrive at:
See: http://www.tgcomes.es/horarios_33.htm
From Seville to Lisbon there are two options:
1) http://www.alsa.es
This company currently operates 2 daily services between Sevilla and Lisbon as follows:
SEVILLA(Prado) LISBON 23:30 07:30next day
2) EVA Transportes/DAMAS Change and buy ticket in Faro
Sevilla Plaza das Armas Faro 08:00 10:40
Faro Lisboa 11:00 14:15
Sevilla Plaza das Armas Faro 16:15 18:55
Faro Lisboa 19:00 22:15