This post was written by Emily Becker, who is a Mexico-based freelance writer for BMTM.
Having lived in Mexico for two years, I’ve been to my fair share of amazing beaches. With thousands of miles of coastline on the Pacific side, the Gulf of Mexico, and the Caribbean, there’s plenty of variety here, too. There’s truly a beach for everyone, ranging from the mega-tourism of the Riviera Maya to the crashing waves of Oaxaca.
Here are my picks for the absolute best beaches in Mexico, from north to south:
1. Isla Espíritu Santo, Baja California Sur
On the lower half of the Baja California Peninsula, just a short boat trip away from La Paz, is Isla Espíritu Santo. This paradise is exactly the kind of place you dream of when you think of the perfect island destination. It’s uninhabited, so you can’t actually stay on it, though, but you can visit during the day while staying in La Paz.
The radiant, white-sand beaches and contrasting red rocks of the island are some of the many things that make this beach so beautiful. It’s also home to some exotic wildlife, which is what many people come to see. In particular, there is an abundance of sea lions nearby. A snorkeling adventure like this one is a great way to appreciate them.
- Where to stay: Just like Balandra Beach (below), the best place to stay in order to visit Isla Espirítu Santo is La Paz. You’ll find loads of wonderful options there, like this super affordable loft Airbnb!
- How to get there: The only way to get to the island is by boat with an authorized tour operator. The abovementioned tour is a great option, but you can also find plenty of others in La Paz, such as Club Cantamar.
2. Balandra Beach, La Paz, Baja California Sur
This is one of those places where I have to stop and ask myself, Is this even real? Balandra Beach is so breathtaking that parts of it feel surreal in person. Between the pristine, shallow waters on the soft, white sand and the reddish, rocky mountains in the background, this beach was one of the easiest to add to this list.
Balandra is near the city of La Paz, in Baja California Sur. Since the pandemic, authorities have been enforcing a capacity limit at the beach, so you’ll have to get there early to gain access.
From October to May, La Paz is a great place to find whale sharks, so you’ll have a great view of them breaching whales during the season.
One of the best ways to soak up the beauty of Balandra Beach is to snorkel in its pristine waters and take a peek at the variety of glittering fish and other sea creatures. This tour includes a stop at Balandra and also passes by the lighthouse at San Rafaelito.
- Where to stay: In La Paz, the closest point to Balandra Beach where you can stay, Hotel Catedral is one of the best options, with an amazing rooftop.
- How to get there: To get to Balandra, you will need to have a vehicle or take a taxi. Another way to get there is to take a boat or jet-ski from a neighboring beach, such as Pichilingue; you can arrange for a boat to pick you back up in a few hours, after enjoying the beach. It should cost around 250 pesos ($12.50 USD) per person, round-trip.
3. Islas Marietas, Nayarit
Just off the coast of Sayulita in the state of Nayarit are the Marietas Islands. Small and uninhabited, they are home to sea caves, virgin beaches, and incredibly clear water.
There’s a rumor that Islas Marietas was once a bomb-testing site, which is one particularly sinister explanation for the gaping hole you’ll find at the famous Playa del Amor (a hidden paradise), which looks like a giant skylight above the beach.
This small group of islands is known for its biodiversity and incredible snorkeling. Wildmex offers half-day snorkel tours, which are one of the best ways to enjoy everything the islands have to offer.
This beach destination is truly one of the best in Mexico, so don’t miss out on a visit if you’re ever in the Sayulita or Puerto Vallarta area!
- Where to stay: The best place to stay is Sayulita, which has a ton of great lodging options. Aurinko Bungalows, a favorite among solo travelers, has rooms for around $70-80 USD per night.
- How to get there: If flying into Puerto Vallarta, you can reach Sayulita by private car, public bus, or even Uber! From there, you’ll have to book a tour like this one or from a company in Sayulita or Puerto Vallarta to get to the islands.
4. Costa Careyes, Jalisco
Located in the Bay of Banderas, Costa Careyes is a lesser-known paradise with virgin beaches, thick forests, and tons of wildlife. Although developers are just beginning to put up luxury resorts in the surrounding Cabo Corrientes area, Costa Careyes has mostly avoided the mega-construction of many other beach destinations.
Costa Careyes is home to rugged nature and small villages, with little else along this part of the coast, making it the ideal beach destination for travelers who are looking for both an adventurous and peaceful experience. The time to visit is now, as plans to build more infrastructure and resorts are underway and will likely lead to a huge boom in tourism to the area.
The shining star of this area is the Selva de Cuitzmala, which is right in Costa Careyes’s back yard. With its incredible ocean views paired with the picturesque jungle, this is one of the most idyllic places you’ll find in Jalisco. It feels a world away from the craziness of Puerto Vallarta.
- Where to stay: Airbnb has a ton of great selections for mid-priced accommodations, like this one-bedroom casita with an ocean view. Another great option is this boutique villa, which includes breakfast and an airport shuttle from Puerto Vallarta.
- How to get there: Costa Careyes is about a three-hour drive from the airport in Puerto Vallarta or a one-hour drive from the airport in Manzanillo. You can take a taxi from either of these airports for anywhere between $40 and $200 USD, or you can take public transport. If you decide to do the latter, just ask where the parada de combis is and find the combi going to Costa Careyes. You can let the driver know that you will be stopping there.
5. Zihuatanejo, Guerrero
You may have heard of Acapulco, which is one of Mexico’s most famous — and in my opinion, overrated — beaches in the country. Skip the craziness there and instead head a bit further north, to Zihuatanejo. This laid-back surf town has some killer waves and one of the most gorgeous beaches in Mexico.
There are four beaches in Zihuatanejo, the most remote and best one by far being Playa Las Gatas. The dreamy turquoise water is perfect for swimming and snorkeling, and the chill atmosphere makes it just the right place to get away from the stresses of life and fully relax. I can’t think of another beach that has such a serene atmosphere as Playa Las Gatas.
The coast of Zihuatanejo has rocky cliffs, thick mangroves, and towering mountains, in addition to picturesque beaches. If the beauty of this part of Mexico wasn’t romantic enough, check out this horseback-riding tour that would be a super date with your partner, or even solo!
- Where to stay: If you are seeking luxury and serenity, look no further than La Casa Que Canta (“The House That Sings”). This place is absolutely gorgeous! Rooms start at around $300 USD per night.
- How to get there: Getting to Zihuatanejo is fairly easy, because it has an airport with daily flights from Mexico City. To get to Playa Las Gatas, you can take a water taxi from the pier at Playa la Ropa in Zihuatanejo.
6. Puerto Escondido, Oaxaca
Puerto Escondido is a surfer’s dream, known for having the best waves in all of Mexico. The town itself is actually quite big, and there are several different beaches to choose from. Each one has its own spirit, from the party scene at Playa Manzanillo to the no-fuss vibe of Playa Bacocho. There’s a beach in Puerto Escondido for everyone.
I think Playa Carrizalillo, close to the center of town, is the best beach here. It’s a small cove, and the waves there are great for surfing, but you can also swim and snorkel. To get there, you have to go down several steps, on which you can take in the gorgeous views of the sea along the way.
La Punta is the most hip and touristy part of Puerto Escondido and it lines Playa Zicatela, the mecca of surfing. In this area you’ll find sweet cafés, surf shacks where you can sign up for lessons, loads of restaurants, and Puerto’s vibrant nightlife. You can’t leave Puerto Escondido without checking out La Punta.
Find everything you need to know about visiting Puerto Escondido here.
- Where to stay: You can find everything from backpacker hostels to luxury hotels in Puerto Escondido. That said, you can find places that have a lot of value for cheap, like the Bikini Beach House, which has breezy seaside rooms for around $40 USD a night.
- How to get there: Puerto Escondido is the easiest beach to get to in Oaxaca from the States because you can easily fly into its airport. You’ll most likely have to make a connection in Mexico City, which is just a 40-minute flight away.
7. Mazunte, Oaxaca
Oh, Mazunte… I went there for the first time last year and fell in love immediately. Its chill atmosphere, delightful seafood, and crashing waves make for a relaxing and restorative beach experience. You can easily cover the a relatively small town, known for its bohemian vibe, on foot, with no need for transport once you get there. Its rocky shores offer a mix of cactus-speckled landscapes and soft, sandy beaches that attract tons of surfers and barefoot hippies.
It’s a great place for a hike, too. A popular spot to watch the sunset is Punta Cometa, just a 30-minute walk from town. From there, you can climb down a rocky trail to get to a secret spot called “the jacuzzi,” a popular bubbling swimming hole.
There are a lot of interesting things happening in Mazunte on any given day. From yoga classes to shamanic ceremonies and fire dances, you’ll find all kinds of esoteric and spiritual offerings. The best way to find out what’s going on there is to keep an eye out for flyers posted around town.
- Where to stay: You get a lot of bang for your buck in Mazunte. For example, you can have this entire loft for just $45 USD a night! There are also plenty of hostels with dorms and private rooms, but I’ve had great luck on Airbnb. Mazunte’s hospitality is incredible!
- How to get there: Mazunte is just an hour south of Puerto Escondido, which has the closest large airport. I recommend flying into Puerto Escondido and then taking a bus to Mazunte or renting a car. There are ADO buses, but the smaller combis leave quicker and are just as comfortable.
8. Zipolite, Oaxaca
Zipolite is Mexico’s only legal nude beach. Whether that’s your thing or not, this carefree town has a chill atmosphere perfect for kicking back and enjoying the sun and sea. It’s one of my favorite places in Mexico because of how open-minded the people are there. Being on a nude beach for the first time was liberating for me, because literally nobody cares about what you or anybody else looks like. It’s all about feeling good in your skin, soaking up the sun, and having a beautiful time.
Zipolite is just east of Mazunte; you can easily go back and forth between them via taxi or scooter, which I recommend renting if you want to see more of the beaches in Oaxaca.
Don’t forget to check out my post on everything to do in Zipolite before you go!
- Where to stay: There are plenty of backpacker hostels to choose from, with no need to book online ahead of time. If you want something a little more high-end, consider Hotel Descalzo. There you’ll find beautiful suites with ocean views and a pool, restaurant, and bar all on-site. Rooms start around $100 USD a night, depending on the season.
- How to get there: If you fly into Puerto Escondido, you can easily take an ADO bus or colectivo to Zipolite. However, I highly recommend renting a car and driving along the coast, making stops in Mazunte, Zipolite, San Agustinillo, and Puerto Ángel along the way. This way, you’ll truly get the best of the Oaxacan coast.
9. Huatulco, Oaxaca
Just east of Mazunte is Huatulco, which is about 20 miles of sandy beaches with nine bays in total. The coast is known for its soft, golden sand and rocky bluffs towering over the deep blue waters of the Pacific Ocean.
In this large area, there are 36 different beaches to choose from, and each one has its own character. It would be a disservice to the beauty of Huatulco to choose just one for this list, so I’m listing them all together, with a few honorable mentions to my favorites: Playa Arrocito and Cacaluta.
Playa Arrocito is a tranquil patch of sandy beach capped on both side by cliffs, the ideal place to relax. You won’t see many people here and amenities are slim, so consider packing a picnic and bringing your own gear if you want to snorkel.
The same goes for Cacaluta, which is even more secluded. In fact, you have to hike through the jungle to get there! From Huatulco center, take a taxi to the entrance of Cacaluta (it should only cost about 60 pesos, or $3 USD) and use the signs along the way to lead you to the beach, which is about a 30-minute hike. There are no restaurants or amenities at this beach, so go prepared! The tranquility and possibility of having the beach to yourself make it worth it, though.
If you want to stick to the main beaches in Huatulco, you’ll still have a wonderful time. Check out this guided tour, which will take you to seven of the area’s famous bays!
- Where to stay: Huatulco is home to plenty of big hotels and resorts, so I preferred Airbnb when I visited last year. There are many affordable options in the central area of Playa Santa Cruz, like this whole condo at just $60 USD per night.
- How to get there: Huatulco has its own airport called Bahías de Huatulco International Airport, which you can get to from Mexico City on a connecting flight. From there, you can take a quick taxi to your accommodation.
10. Boca del Cielo, Chiapas
If you find yourself in Chiapas, you’re in for the adventure of a lifetime. Many people who come here tend to stick to Palenque and San Cristóbal de las Casas (my home!) and miss out on the underrated beaches. My favorite is Boca del Cielo, a little slice of heaven that is still relatively unknown to foreign tourism.
What makes Boca del Cielo so special is that the beach is on an isthmus. On one side of it, there’s a huge saltwater lagoon with mountains in the background. On the other is the sea. This means that you have the option of hanging out on the lagoon side or beach side, which are only about 100 meters (330 feet) apart. The lagoon is perfect for kayaking, stand-up paddleboarding, and swimming. The waves on the beach side are gentle enough to swim in, plus you can regularly see sea turtles being released into the ocean.
- Where to stay: There are still very few places to stay in Boca del Cielo. My go-to is Entremares, a small co-op with a strong commitment to sustainability. They have A-frame cabins that are just steps from the water, plus you can camp there if you wish. There’s even a geodesic dome inside an A-frame that you can rent for around $40 USD per night.
- How to get there: It can be tricky to get to Boca del Cielo if you don’t have a car. From San Cristóbal de las Casas, you need to take a colectivo to Tonalá by way of Tuxtla. From there, you have to tell a taxi driver that you want to go to Boca del Cielo; they will take you to a small spot on the lagoon where you have to take a boat across. (If you book your accommodation with Entremares, they will give you a detailed rundown on how to get there.)
11. Isla Holbox, Quintana Roo
If you’ve read our complete guide to Isla Holbox, you know that this is one of my favorite beaches in Mexico. The calm, shallow waters on the beaches of Holbox make it a great place to kayak and paddleboard.
Isla Holbox is a long, skinny island off the coast of the Yucatán Peninsula, with the ocean on one side and a salty lagoon on the other. It’s one of the most beautiful places in Mexico and one of the top places in the country to see whale sharks and bioluminescence.
Beyond the obvious stunning, white-sand beaches and wildlife sightings, Holbox has several cenotes nearby and even some awesome nature preserves. There are numerous tours on the island that can take you out on the water or to various locations, such as Punta Cocos to see the bioluminescent water at night.
Holbox may be booming with tourists most of the year, but it has maintained its charm regardless and is a dreamy, colorful, enchanting place still. You’ll see that there are many events happening on the island on any given week, and it’s particularly fun to visit during carnaval in February to see the iconic parade.
- Where to stay: For a luxurious stay, check out Villas Caracol, which is not only breathtakingly beautiful but also has breakfast included and a swimming pool. A great budget-friendly option is this cute rental unit on Airbnb, which has a more authentic, local feel.
- How to get there: To get to Isla Holbox, you can take a ferry from the port at Chiquilá. If you’re coming from the Cancún airport, you can either take a taxi or an ADO bus. If you’re renting a car, there’s plenty of parking in Chiquilá; it only costs about $4-5 USD per day to park. Cars aren’t allowed on Isla Holbox, so you’ll have to leave it behind in Chiquilá.
12. Playa Norte, Isla Mujeres, Quintana Roo
You’ll notice that Cancún didn’t make this list, which is no shade toward the Caribbean hot spot. Although the beaches there are some of the most visited in the country, you’re definitely missing out if you don’t venture to other places nearby, like Isla Mujeres. While it’s is booming in popularity, with more and more visitors each year, it’s not without reason that so many want to experience its beauty.
Playa Norte on Isla Mujeres is exactly the kind of beach you dream of in the dead of winter, when you haven’t seen the sunshine in weeks. With its powdery-soft white sand, clear shallow waters, and island breezes, this lovely island is like stepping into a postcard.
Even during peak season, Playa Norte is big enough to grab a quiet spot and relax the day away. Get there early in the morning to enjoy the tranquility before other beachgoers arrive. Isla Mujeres is a popular kite-surfing destination, so you will likely get to watch them as they fly in the distance.
- Where to stay: A sweet thing about Isla Mujeres is that you can find affordable accommodation super close to the beach, like this entire condo for less than $50 USD per night.
- How to get there: You can get to Isla Mujeres easily via ferry from Cancún’s Puerto Juárez Maritime Terminal, located just a few miles north of the Hotel Zone.
13. Xpu-ha, Quintana Roo
You’ve heard all about the beaches of Cancún, Tulum, Cabo, and Puerto Vallarta. Have you heard about Xpu-ha, though? This idyllic beach is one of the Riviera Maya‘s best kept secrets, and it’s one of the only beaches in the area that isn’t overrun with tourists during high season.
On any given day during any season, you’ll find locals chilling out on Xpu-ha Beach and soaking in its beauty. The atmosphere there is laid-back and generally uncrowded, which is a far cry from the busy beaches elsewhere. The powdery, soft sand with cyan-colored water is great for a swim, and there are plenty of opportunities to snorkel and dive there as well. Pair that with a couple fresh fish tacos and a cold beer for the perfect beachy afternoon. What more could a girl ask for?
- Where to stay: There are plenty of delightful options on Airbnb for places that are just steps from the beach, like this adorable tiny house that is literally right on the shore.
- How to get there: Xpu-ha is incredibly easy to get to from Cancún’s international airport. There are ADO buses that go from Cancún to Tulum, making a stop in Xpu-ha. You can also find taxis at the airport that can take you straight to your accommodation.
14. Mahahual, Quintana Roo
Similar to Xpu-ha, Playa Mahahual is a small beach village that has mostly avoided the mega-tourism of the region. Seeing a trend yet? Sometimes the best beaches aren’t the ones with the fancy restaurants and bars right on them, and I tend to favor those that are frequented by locals and have a more chill vibe.
Mahahual is just north of Bacalar and is popular among divers because of its incredible reefs just off the shore. Before beach hotels began to pop up in Mahahual, it was a sleepy fishing village. In fact, most of the town has retained its original charm, and the touristy area is relatively small.
- Where to stay: If you want to stay right on the beach, it’s possible to do so affordably at Noah Beach Hotel & Suites. Rooms range between $100 and $200 USD per night.
- How to get there: You can get to Mahahual from Cancún’s international airport, but it’s closer to Chetumal’s national airport. If you fly into Cancún, you can catch a bus to Mahahual from the ADO terminal.
It’s no wonder why there’s so much overlap between our most beautiful places in Mexico post and this one. The beaches throughout the country are remarkable, and it totally makes sense that so many people flock to Mexico’s shores each year. And the variety! There are so many different kinds of beaches, each with their own flair. While some of these are big tourist hot spots, many are actually hidden gems!
How many of these beaches have you been to? Let us know which ones are your favorites.
Pin me for later:
Click to read more posts about