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