The Lagos - Lisbon EVA Bus operates Lagos, Portimão, Lagoa, Lisbon Sete Rios.
From Sete Rios/Jardim Zoologico Metro Station you take the Linha Azul Metro to Baixa Chiado and change there to the linha verde for Cais de Sodre. depending on time of day allow 30 to 45 minutes for this transit.
Probably best to buy the tickets at Lagos Bus Station a day in advance as in summer the bus can get full.