Silves (Portugisisk udtale: [ˈsiɫvɨʃ]) er en portugisisk by og kommune i distriktet Faro i provinsen Algarve i det sydlige Portugal. Kommunen havde i 2011 37.126 indbyggere og dækker et areal på 680,02 km². Den er beliggende mellem byerne Lagoa, Portimão, Monchique og Albufeira, og ligger omtrent 50 kilometer fra Faro, hovedstaden i distriktet. Silves betjenes af Comboios de Portugal (Portugals statsbaner), og er beliggende på strækningen mellem Lagos og Vila Real de Santo António.