Город расположен на восточном побережье Чёрного моря в междуречье рек Туапсе и Паук, у подножья южного склона Главного Кавказского хребта. Находится в 103 км к югу от города Краснодар и в 78 км к северо-западу от центра Сочи.
Через город проходят федеральные автотрассы А-147 (Адлер-Джубга) и Р-254 (Майкоп-Туапсе), которая ведет через Шаумянский перевал высотой 512 м. в.у.м. Действуют железнодорожные станции «Туапсе-Пассажирская» и «Туапсе-Сортировочная» обслуживающие Армавир-Туапсинскую ветку Северо-Кавказской железной дороги.
Граничит с землями населённых пунктов: Агой и Агуй-Шапсуг на севере, Пригородный и Мессажай на востоке, и Кроянское на юго-востоке. На западе город омывается водами Чёрного моря. Протяжённость морского побережья в пределах города составляет 10 км.
Туапсе расположен в предгорной зоне южного склона Главного Кавказского хребта. Местность начинает повышаться при удалении от побережья. В некоторых местах над морем имеются скальные обрывы. Средняя высота территории города составляет 44 метра над уровнем моря. Наивысшей точкой является гора Мессажай (651 м), расположенная к северу от города. На северо-западной окраине города находится крупный лесопарк Кадош.