Guide: Baja California, Mexico

I once read that paradise is a place that is both magically beautiful and hard to reach. The latter helps keeps visitors to a minimum which prevents overcrowding. My definition of paradise adds one key element: imperfection. Paradise to me is not being shuttled from airport to grand hotel where you spend all your time being waited on and your only worry is reapplying sunscreen. It’s hard to make memories that stick when you aren’t faced with any challenge, struggle, or at least inconvenience. Baja fits the bill for my version of paradise: beautiful, hard to reach, and rough around the edges in a way that allows you to roll up your sleeves and get involved.

Planning and Safety Nets

Edgar and I dreamed up the idea of a road trip down the Baja peninsula a year before we finally did it. In March 2022 we set off for our 3-week adventure. Our plan was to spend roughly half the time camping and half the time staying in Airbnb/ hotel/ hostel. Here’s what I did before we left:

  • Made a rough outline of our itinerary including where we could stay each night
  • Consulted with Edgar’s dad who is from Mexico and spends a lot of time in Baja
  • Booked a few airbnbs, a hotel, and a hostel (all of which were cancel-able)
  • Made two dinner reservations (both were restaurants in Todos Santos that had good reputations and needed reservations in advance)
  • Bought a bunch of noodle cups for our camping dinners + other snacks
  • Researched the activities we wanted to do (whale watching, etc.)- but did not book anything
  • Exchanged money prior to crossing the border

I like to have an outline for my trip but leave a lot of room for flexibility. Researching prior to your first road trip in Baja is important because there aren’t always the safety nets you’ve grown accustomed to in our modern world. There are plenty of zones without cellphone service and long stretches between towns/ services in certain areas. Here are a few tips:

  • Bookmark destinations on google maps so even if you don’t have service you can see where you need to go
  • If driving from Ensenada south along the pacific side (to Guerrero Negro or Bahia de Los Angeles), get gas in El Rosario de Arriba– it’ll be your last chance prior to a long stretch of desert
  • Take out enough local currency to provide a cushion even if you plan to mostly use credit card- depending on where you are there will be places that only take cash. In smaller towns there might not be an ATM.


Here is the big overview of our itinerary:

Ensenada1 nightEdgar’s dad’s house
Bahia de Los Angeles1 nightCamping
Guerrero Negro1 nightAirbnb
Mulegé2 nightsCamping
La Paz3 nightsCamping + Airbnbs
La Ventana1 nightAirbnb
Todos Santos2 nightsHostel, Hotel
Cerritos Beach2 nightsAirbnb
La Paz1 nightCamping
Loreto 2 nightsAirbnb
San Ignacio1 nightCamping
El Rosario de Arriba1 nightCamping

Day 1: Mexicali – Ensenada

We crossed from the US into Mexico at the Mexicali crossing due to where we live in southern California. Crossing into Mexico is easy and we drove straight through.

MILEAGE / TIME: 206 miles / ~4.5 hours


LODGING: Edgar’s dad’s house in the Valle de Guadalupe

Crossing at Mexicali
Taquería Los Amigos 2
Hilo Negro Winery
Looking out at the Valle de Guadalupe
La Maria Cafe

Day 2: Ensenada – Bahia de Los Ángeles

Google maps, I discovered, is not accurate regarding the time it will take to reach a destination in Baja California Norte (it’s more accurate in Baja California Sur). It often over-estimates the time which is a nice surprise instead of the alternative. We stopped for lunch in El Rosario de Arriba at Mamá Espinoza Restaurante. The restaurant is historic and is decked out in motorsport memorabilia for the Baja 1,000 which passes through the town.

The drive from El Rosario de Arriba to Bahia de L.A. is mostly vast desert with countless cacti and surprisingly large mountains. On the last stretch of our drive the desert parted to reveal the Sea of Cortez aka the Gulf of California. Bahia de Los Ángeles is a small coastal bay known for its fishing. Without cell phone signal we were able to take in the raw beauty of the place without distraction.

MILEAGE / TIME: 332 miles / ~7 hours


LODGING: camping- random site near the water (we tried to find an iOverlander spot but were unsuccessful)

Mamá Espinoza
Bahia de L.A. sunset
Bahia de L.A. sunrise

Day 3: Bahia de L.A. – Guerrero Negro

Seeing the gray whales was at the top of my list for our Baja trip which is why we drove to Guerrero Negro on our third day. Driving to Guerrero Negro was also our passage into Baja California Sur. The town has an interesting history (founded due to a salt factory built in the Ojo de Liebre lagoon) but the whales are the biggest draw for visitors.

I could write a whole post on our whale watching trip because it was one of the most incredible experiences of my life. We went with Malarrimo Eco-Tours who were great. They took us out into the lagoon and we were quickly surrounded by whales in the best way possible. At one point I counted 8 whales around or boat. The whales come up to the boat, stick their noses out of the water and let you pet them. I’ve never seen anything like it and you MUST do this on your Baja trip!!!

MILEAGE / TIME: 125 miles / ~2.5 hours or less



a highlight of my life

Day 4-5: Guerrero Negro – Mulegé

After our whale watching extravaganza we drove to Mulegé for two nights of camping by the sea. I immediately liked the small town situated on either side of Río Mulegé with palm and mangrove trees nestled by the water. Our first camping spot was at the edge of town which gave us easy access to explore the next morning. We found “Faro de Mulege” on iOverlander. It was a pretty spot right on the Sea of Cortez, but didn’t have a bathroom. So after running by the river the next morning and walking through town, we packed up and headed south.

The stretch of beaches 20 minutes south of Mulegé, in Bahía Concepción, are some of the best in all of Baja. We stopped at Playa Santispec which is an established campground costing about $10/night. STORY TIME: It was so windy when we pulled up that we spent the early afternoon sitting in a tent inside of the palapa. The wind died down slightly and we were feeling eager for some action so we decided to take out our stand up paddle boards (SUPs) for their inaugural voyage. Once we were a good 50 ft from shore I quickly realized two things: the wind was picking back up and it was pushing us away from shore. Panic took over and I started yell-crying at Edgar. Thankfully we were able to navigate to the rocky side of our cove instead of getting pushed out to sea. Not long after we hauled our SUPs into a cave out of the wind, we saw a dinghy coming toward us.

Our heroes were two older gentlemen, experienced sailers/surfers, who saw us naively taking our boards out in horrible conditions. They graciously took us back to shore and gently educated us on our insanity. I felt so embarrassed but learned a valuable lesson. That night we bought them a round of drinks at the beach bar and had a good laugh recounting our wild tale to new friends we met the night before who also happened to be staying at Playa Santispec (Baja is a small place)!

MILEAGE / TIME: 178 miles / ~3 hrs


LODGING: camping at Faro de Mulegé then Playa Santispec

Heroica Mulegé
Faro de Mulegé
Playa Santispec

Day 6-8: Mulege – La Paz

La Paz snuck up on me. I felt pretty neutral about it for the first day but by day two and three it turned into a place I missed even before leaving. Our first night was a bit of a fail. We found a random spot to camp on iOverlander, north of downtown. It was the weekend and we quickly realized we picked a spot where locals come to hang out in their cars by the water, drinking and singing late into the night. I was already sleep deprived from the wind keeping me up the past two nights. I got very little sleep that night and felt like a zombie the next morning. Thankfully the campsite wasn’t all bad. In the morning we were able to take our SUPs out (this time on still water!) and saw a bunch of jellyfish floating all through the bay!

After we packed up our SUPs and campsite we drove to the downtown area. It was a weekend so the malecón was packed- another reason I initially was not a huge fan of La Paz. In the subsequent days I experienced the less-hectic version of downtown and thought it was lovely. The boardwalk is extensive making it an excellent running path. There are tons of restaurants looking out onto the water, as well as encouragement for activity with playgrounds, various outdoor gyms, and a skate park.

We stayed in two different Airbnbs, each within the downtown area. I love being able to walk places on vacation so I try to pick accommodations accordingly. Things I appreciate about La Paz: walkable downtown, great food, and plenty of fun activities. All of the food we ate in La Paz was great from street carts to nicer restaurants. We chose swimming with whale sharks as our designated activity. The excursion lasted roughly half a day and involved a boat ride, a lesson on whale sharks, and taking turns getting into the water to swim with the whale sharks. It was a thrilling experience trying to see the whale sharks in the murky water and then keep up with them as they swam. We went with Alonso Tours who were great!

Before driving to La Ventana on our third day we stopped by Playa Balandra. When we went they were only letting people enter the beach for certain periods of the day. The beach sits inside of a bay that is very shallow, allowing you to walk out far from shore and still only have water below your waist. If we had more time I would’ve hiked to the overlook and gotten a birds-eye view of the bay.

MILEAGE / TIME: 304 miles/ ~6.5 hrs



  • Camping
  • 1st Airbnb: “Two Block Mall Room #3”
  • 2nd Airbnb: “Quarto Patio, Casa Canona”
First campsite in La Paz
I spy Edgar
Playa Balandra

Day 9: La Paz – La Ventana

La Ventana is a place that not everyone visits on their Baja road trip. It’s a small town on the Sea of Cortez that is famous for kiteboarding. I found an amazing Airbnb which was our biggest draw to the area. Our room had a sweeping view of the ocean with its whole front wall a glass sliding door. We also had an outdoor shower and patio area where we watched the sunset. I would visit this magical place again and again.

Just below our Airbnb were natural hot springs next to the ocean. We had the most relaxing time sitting in the pools as ocean water mixed with the hot spring to create the perfect temperature. One reason I enjoyed La Ventana so much was the lack of people. There weren’t crowds waiting for their turn to use the hot springs. On our second day we went snorkeling and were the only people in the area. We saw bright fish and a small puffer fish! If you’re looking for a laid back town La Ventana is the place to come.

MILEAGE / TIME: 29 miles/ 45 min


LODGING: Airbnb “Sunrise Room!”

Enjoying the sunrise
Sunset at our Airbnb
Natural hot spring

Day 10-11: La Ventana – Todos Santos

My impression of Todos Santos (TS): a Pueblo Mágico that is trendy, artsy, and growing. The main town area has a lot of boujee shops and tons of restaurants. I think it’s weird that the main town area isn’t closer to the ocean. Speaking of the ocean, the waves were huge and made it dangerous to swim in. So, we never got in the water to swim which was a big bummer. I liked the hike we did as well as the street food, fancy restaurants, and coffee shops. There seemed to be a lot of gringos visiting and living in TS. We spent two days here and I thought is was the right amount. I’m not sure if it’s a place I would go out of my way to visit again.

MILEAGE / TIME: 70 miles/ 1.5 hrs



Puerto Todos Los Santos hike
Todos Santos Hostel
Hotel Casa Morelos
The Green Room
Taller 17 coffee shop

Day 12-13: Todos Santos – Cerritos Beach

My impression of Cerritos Beach: Still a small community but seems to be growing quickly with multiple large buildings in construction. The beach is nice with good sand, volleyball courts, safe waves for swimming and beginner surfers, and venders walking around selling fresh fruit, massages, and souvenirs.

It seems to be a place filled with gringos from the U.S. and Canada- many who live there full or part-time. They have a few restaurants which seem to be quality (based on reviews) but we actually only ate in Cerritos Beach once. We had fish & shrimp tacos from a food truck next to the beach which were really good. I thought our two nights here was plenty.

MILEAGE / TIME: 10 miles/ 15 min

LODGING: Airbnb “Surf Casita 68, Cerritos Beach”

Surfing in Cerritos Beach

Day 14: Cerritos Beach – La Paz

On our drive back up the peninsula we returned to La Paz for one more night. We camped at Playa El Tecolote which is free and very popular. Our spot was right on the beach, giving us a front-row view of the water. It happened to be a national holiday that day so a lot of locals came out for the day and played music late into the night. I love being in the mix and getting to see how local people live their lives when I’m traveling.

We enjoyed snorkeling, exploring tide pools, and going for a run up a nearby mountain overlooking the water.

MILEAGE / TIME: 60 miles/ 1 hr

FOOD: Ceviche from a beach restaurant on Playa El Tecolote

LODGING: camping at Playa El Tecolote

Playa El Tecolote
Best ceviche of the trip!

Day 15-16: La Paz – Loreto

Loreto is another Pueblo Mágico with character and history. We were hoping to go fishing but unfortunately the strong winds had other ideas. Instead we went for a hike on Hart Trail with breathtaking views of the sea. We also enjoyed going for morning runs/walks along the Malecón and eating yummy food. Since it was towards the end of our trip I think we were tired and less motivated to do a lot of activities. Loreto is a place with lots to do and I would love to return one day.

MILEAGE / TIME: 221 miles/ ~4.5 hrs


LODGING: Airbnb “Loreto80- New Studio PITAYA…”

Sunrise run on the Malecón
Top of Hart Trail hike
Hart Trail

Day 17: Loreto – San Ignacio

San Ignacio is underrated! I think most people make a quick stop to see the Misión on their drive south, but few actually stay the night. I’m so glad we camped for a night right next to the lagoon. It was the most peaceful place we stayed on the trip. In the morning we woke up and took our SUP out on the lagoon right away. The town is very small so one night/day is plenty to visit the Misión and enjoy the lagoon. I would highly recommend camping in San Ignacio for a night!

MILEAGE / TIME: 169 miles/ ~3.5 hrs

FOOD: a burrito and very strong(!!) margarita from the campground restaurant

LODGING: camping at “Camping y Ecotours Los Petates”

Misión San Ignacio Kadakaamán
Camping on the Lagoon
Paddling in the Lagoon

Day 18: San Ignacio – El Rosario de Arriba

For out last night in Baja we found one of our favorite camping spots of the whole trip completely by chance. It was a free site right on a cliff overlooking the ocean with no other campers in sight which we randomly picked off iOverlander. The sunset was incredible but only the warm up for the beauty that was in store. When it was finally dark we saw the bioluminescence in the water and were blown away.

MILEAGE / TIME: 313 miles/ ~6.5 hr (I think!)

FOOD: Torta and tacos from random restaurant along the road

LODGING: camping spot found on iOverlander just north of El Rosario de Arriba

Sunset at our campsite
Morning views

Day 19: El Rosario de Arriba – Home

Our last morning was perfect with a beautiful view of the Pacific Ocean (picture above) right outside our tent. We stopped for a last coffee and tacos before driving across the border into California and heading home. Our last campsite in El Rosario de Arriba was epic and by far one of our favorites. It still blows my mind that you can camp right by the ocean with no one else in sight and not pay a dime! Baja is the best.

MILEAGE / TIME: 366 miles/ 8 hrs


Otro Café
Last tacos of the trip from Taquería el Trailero