Dos hotéis de cadeias, o Mercure (Rua Manuel Moreira de Barros 618D, 223 740 800, €57-€110, www.accorhotels.com ) é bem-localizado, desde que você esteja de carro.
No centro da cidade, o Hotel Infante de Sagres (Praça Dona Filipa de Lencastre 62, 223 398 500, €165-€350, www.hotelinfantesagres.pt), em Ribeira, é um antigo prédio de mercado, caprichosamente restaurado.
Se quiser uma recepção mais calorosa, o Residencial dos Aliados (Rua Elísio de Melo 27, 222 004 853, €50-€70, www.residencialaliados.com) fica na Avenida dos Aliados, no centro.
Pensões baratas estão ao redor da estação São Bento.