Southern Costa Rica covers the Pacific coast from Dominical down to the Osa Peninsula and the Golfo Dulce, plus the valley of San Isidro de El General inland. Much of this coast lies in Osa canton, and ICT's Osa guide places the region between Dominical in the north and the Golfo Dulce in the south. This page helps you see how the towns fit together and how long it takes to drive between them.
Use the map and the drive-time table to choose two or three bases, not a new town every night. Distances look short on paper, but mountain roads, river crossings and rain slow you down.
Drive times between southern towns
These are approximate driving distances and times without stops. Distances and unmarked times come from OpenStreetMap routing, measured on 2 October 2026. Times marked ICT are the Costa Rica Tourism Board's own approximate ranges, used where ICT gives a figure. Real trips take longer with traffic, rain, roadworks or gravel stretches.
| From | To | Distance | Driving time |
|---|---|---|---|
| San José airport (SJO) | Dominical | about 190 km | about 3 hours 40 minutes |
| San José airport (SJO) | Uvita | about 208 km | about 4 to 5 hours (ICT) |
| San José airport (SJO) | San Isidro de El General | about 144 km | about 4 hours |
| San Isidro de El General | Dominical | about 34 km | about 50 minutes |
| San Isidro de El General | San Gerardo de Rivas | about 19 km | about 30 minutes |
| Dominical | Uvita | about 19 km | about 20 minutes |
| Uvita | Ojochal | about 17 km | about 20 minutes |
| Ojochal | Sierpe | about 46 km | about 40 minutes |
| Ojochal | Puerto Jiménez | about 138 km | about 2 hours 10 minutes |
| Ojochal | Golfito | about 90 km | about 1 hour 30 minutes |
| Golfito | Puerto Jiménez | about 104 km | about 2 hours 5 minutes |
ICT's 2023 Osa guide gives about 4 to 5 hours by road from San José to Marino Ballena National Park at Uvita, depending on traffic and stops. Drake Bay isn't in the table. ICT puts the overland trip there at an average of about 7 to 8 hours and warns that the route has river crossings and damaged stretches and can close after floods, so the boat from Sierpe is the other main way in. Check current conditions with your lodge before you set out.
Below the table you can turn these stops into a road trip, or read about roads, buses and boats between towns.
The coast: Dominical to Ojochal
Three towns sit close together on Route 34, the Costanera Sur highway.
Dominical town and waterfalls. A small beach town with strong waves, tour services and trips inland to the Nauyaca waterfalls. Hacienda Barú National Wildlife Refuge lies along Route 34 near the turnoff for San Isidro.
Uvita and the Marino Ballena coast. Uvita is the main base for Marino Ballena National Park. At low tide, the sandbar at Punta Uvita forms a shape that looks like a whale's tail from above. Whale-watching boats leave from the park's beaches.
Ojochal village. A village in the forest south of Uvita, in Osa canton. ICT notes its restaurants show Canadian and European influences. Playa Ventanas and Playa Tortuga are among the beaches nearby.
The Osa Peninsula and the gulf
The Osa Peninsula and Puerto Jiménez. Puerto Jiménez is the main town on the peninsula's Golfo Dulce shore. Boats leave its public pier for guided day trips to the Sirena sector of Corcovado National Park, and SANSA, a domestic airline, flies there daily from San José.
Drake Bay. A district of Osa canton on the peninsula's northwest coast, with the village of Agujitas at its center. Tours to Caño Island and Corcovado leave from here. Plan this stop around boats and small planes, and leave a spare day in case the weather changes.
Golfito and the Golfo Dulce. Golfito was built by the United Fruit Company as a banana port. Today it is a base for boat trips on the gulf, sport fishing and the Golfito National Wildlife Refuge, with Piedras Blancas National Park across the water.
Inland: the General valley and Chirripó
San Isidro de El General and Chirripó. San Isidro is the main city of Pérez Zeledón canton, on Route 2. The offices of Chirripó National Park are in San Gerardo de Rivas, 20 km east of San Isidro. Route 243 links San Isidro with Dominical on the coast, so you can pair a mountain stop with beach days.
How to choose your bases
- For whales and beach time: Uvita or Ojochal, with day trips to Marino Ballena.
- For rainforest and Corcovado: Puerto Jiménez or Drake Bay, with at least two nights so a weather delay doesn't cost you the park.
- For a quiet gulf stay: the Golfo Dulce, where some lodges are reached only by boat.
- For a mountain hike: San Isidro or San Gerardo de Rivas, with the night before your Chirripó start spent near the trailhead.
Moving from the Uvita area to the Osa can take much of a day once you add stops. Splitting a trip between the two regions works well if you give each one at least three nights.
