Even though Puerto Escondido on the Oaxaca coast of southern Mexico has long been a favorite spot for surfers and backpackers, for years it stayed off the beaten tourist track.
The lack of big resort hotels, part of its charm, has probably played a role in that, as has the absence of direct flights from the US or Canada.
Still, the powerful swells of the roaring Pacific and the town's laid-back vibe make it a hidden gem worth discovering (after all, Puerto Escondido means "Hidden Port").
Partner links: booking through them supports the blog at no extra cost to you.
Here are some of the best things to do when you travel here:
Ride the Waves
Set your alarm for before sunrise, grab your surfboard, slap on some zinc, and head to La Punta to ride the waves breaking against the rocks. Experienced surfers can also head further down the beach to Zicatela to take on the waves that crash close to the sand.
If you're a beginner, there are great options for you too, learning to surf with the pros.
Make your way to the stunning Carrizalillo beach, where surf instructors teach novice surfers on the gentler waves of this bay for about 500 pesos ($27) an hour, board rental included. If you manage to stand up in your first hour, expect some cheers to greet you.
Carrizalillo is also a great place to get back in the water with your board if you need to brush up your skills a little before taking on bigger waves.
But you can also find wonderful spots for swimming in the waves without a surfboard.

Carrizalillo beach sits about five kilometers (3.1 miles) north of Zicatela. To reach the sand, you'll have to climb down a set of stone steps, but the view of this horseshoe-shaped bay with its turquoise waters is worth the trip down, and the climb back up.
The loungers set out under umbrellas provide shade for free, as long as you order food or drinks (in high season there's sometimes a minimum spend). Coconut water, enjoyed straight from a freshly cut fruit, is a refreshing little luxury that costs around a dollar here.
A little further along the coast from Carrizalillo you'll find two bays sitting side by side, Puerto Angelito beach and Manzanillo beach. Both have a relaxed, cheerful atmosphere, and on weekends they fill up with families enjoying the waves. Just keep an eye out for the incoming boats that pull right up to shore to pick up tourists for sea excursions.
Playa Principal is also a favorite for swimming or bodyboarding. Fishermen come ashore here in the mornings to unload their catch, but after the initial dawn rush they usually leave swimmers in peace.
Enjoy a Quiet Beach
Except around Easter and Christmas, Puerto Escondido is calm and peaceful, and you'll almost always find a patch of sand all to yourself.
But if you're after untouched beaches with barely another soul in sight, take a drive along the coast toward the resort town of Huatulco.
Around 30 minutes out of Puerto, you'll start to see beach signs on your right. Follow the dirt roads to discover some of the most beautiful, rugged stretches of pristine beach. Some are covered in seashells, while others have small rock pools teeming with marine life where children can splash around.
Take a Boat Trip to See Marine Life

If you can tear yourself away from the sun, sand, and sea, Puerto will reward you with plenty of fascinating activities.
Depending on the season and the phase of the moon, you can pick boat trips to see dolphins, sea turtles, and whales, take part in a turtle hatchling release, or swim in water glowing with bioluminescence under a dark moon.
All of these tours can be booked with any of the tour operators along El Morro street, which runs alongside Zicatela beach.
If you have a car and want to organize the bioluminescence trip yourself, head out of town on the Puerto Escondido-Acapulco 200 highway heading west. The 17-kilometer drive to the lagoon takes about 20 minutes. Turn off at La Puesta del Sol, which offers bioluminescence tours for 200 pesos per person ($10 USD). The tours last about 1.5 hours.
You can swim in the bioluminescence, and while it's unlikely, be aware that crocodiles live in some parts of this lagoon, so take care.
La Puesta del Sol, Carretera Puerto Escondido- Acapulco Km 124, +529541328294
Savor the Local Seafood

Whether you spend the whole day surfing or just playing in the waves, Puerto has great options to satisfy your hunger. Local fishermen bring fresh fish ashore every morning, so you're guaranteed the freshest offerings at local spots.
Cafecito on Zicatela is a favorite breakfast spot that fills up even in the low season.
Serving generous breakfasts, fresh juices, smoothies, and pastries, it's often frequented by hungry, sun-tanned surfers refueling on carbs after a session in the water.
Another excellent option, at the other end of Zicatela, is Finca las Nieves, which serves homemade treats like their own almond milk and granola, along with excellent local coffee.
To cool off in the afternoon, grab an ice cream at La Palma Negra in La Rinconada. The lemon and chia sorbet and the coconut ice cream are refreshingly delicious.
As the day winds down, enjoy a sunset cocktail at El Espadin restaurant and take in the stunning sunset over Carrizalillo beach.
Have you ever eaten fish grilled inside a VW Kombi van? No?
Well, you can do just that at El Coste Cevichería, and it may be the best grilled fish you've ever tasted. Come as a group and order all four marinade options. The accompanying potatoes, fried in butter, are delicious, and the margaritas are pretty special.
For fine dining on a special occasion with some very traditional Oaxacan touches, head to Almoraduz. The signature starters of esquites (Mexican corn) and tamales with beans and hoja santa set the tone for the incredible flavors that follow. Try the peanut water, you'll be amazed at how good it is.
Cafecito, El Morro S/N, Playa Zicatela, 71988, Puerto Escondido, Oaxaca, +52 954 582 0516
Finca las Nieves, El Morro 4, Playa Zicatela, 70934 Brisas de Zicatela, Oaxaca, +52 954 582 2414
La Palma Negra, Mantarrayas, Rinconada, 71983 Puerto Escondido, Oaxaca, +52 954 144 0818
El Espadin, Camino Carrizalillo No 125, Carrizalillo, 71983 Puerto Escondido, Oaxaca, +52 954 582 0995
El Coste Cevichería, Calle del morro S/N, Marinero, 70934 Puerto Escondido, Oaxaca, +52 954 127 0424
Almoraduz, Benito Juárez 12, Rinconada, 71983 Puerto Escondido, Oaxaca, +52 954 582 3109
Where to Rest Your Head

Puerto Escondido has few high-rises and no big-brand hotels, which leaves room for cozy cabins and small, charming places to stay.
Staying near Zicatela beach gives you the chance for lovely morning walks along this long stretch of sand, plus a wide choice of bars and restaurants. A taxi to the more swim-friendly beaches during the day will cost you around 35-40 pesos (about $2 USD).
Alternatively, for gorgeous views and private stairs leading straight down to a swim-friendly beach, stay at Villas Carrizalillo, perfectly perched on the cliffs and letting you watch spectacular sunsets.
A very trendy design hotel can be found tucked away about 30-40 minutes' drive from Puerto Escondido, just beyond the lagoon. Hotel Escondido is a Grupo Habita property that oozes cool, but it sits further from the action than some might like.
Villas Carrizalillo, Ave Carrizalillo, Carrizalillo, 71980 Puerto Escondido, Oaxaca, +52 954 582 1735
Hotel Escondido, Carretera Federal Salina Cruz – Santiago Pinotepa Nacional KM 113, 71983, Puerto Escondido, Oaxaca, + 52 954 582 2224
Hotel Arcoiris, Calle del Morro s/n, Playa Zicatela, 71980, Puerto Escondido, Oaxaca, +52 954 582 0432
What to Know Before You Go
If you're not a fan of crowded beaches and a full-on party atmosphere, visit Puerto Escondido outside of spring break and the December holidays. The rainy season (June to September/October) can be muggy and comes with more mosquitoes, so the best time to visit is January to May and October to mid-December.
Although there are no direct flights to Puerto Escondido from the US or Canada, flights arrive daily at the small airport from Mexico City, and six-seater planes fly in from Oaxaca.
There are direct flights from Canada and the US to Huatulco airport, from which you can easily reach Puerto in two hours along the coast.