There are essentially only two way to travel between Cadiz, Spain and Andalucia and Faro, Algarve, Portugal:
1) Hire Car
2) Public Transport
- Bus/Bus
Currently the best service would be:
Alsa.es bus from Cadiz to Seville (Est. Plaza das Armas):
Dept: CADIZ 12:00
Arr: SEVILLE 14:30
and then:
a Damas/EVA bus from Seville (Est. Plaza das Armas) to Faro.
Dept: SEVILLE 16:15
Arr: FARO 18:55
Hope this helps.