San Francisco Bay Area overnight bikepacking trip

This 2-night trip in the SF Bay Area offers some exceptional bikepacking. Beaches, redwoods, and of course great restaurants and breweries.

San Francisco Bay Area overnight bikepacking trip

It’s less than a month until I’m heading out to Patagonia for a 2-week bikepacking trip. Before heading out, I wanted to do a trial bikepacking trip to make sure my bike and all my gear work and to get a feel for where everything goes on the bike.

Planning a bay area bikepacking route down the SF peninsula

NOTE: This route is not ridable in the foreseeable future due to the 2020 Santa Cruz CZU fire. Check out my other bikepacking trip near Santa Cruz if you’re looking for inspiration for a trip in the Bay Area.

I based my route planning on a great-looking trip on, the SF Peninsula Traverse. There seemed to be a universal agreement in the comments that the second day was too long, and that it might be better to end in Los Gatos.

My second consideration was the time of year and weather. In late December, there’s less than 10h of daylight, and many small trails are soggy from the rain. I wanted to keep my days a bit shorter and avoid singletrack.

The last issue with making this trip in the winter is that most of the camping options along the route are closed during the winter months. Dispersed camping is not allowed anywhere in the Santa Cruz mountains.

I wanted the trip to be unsupported. I wanted to be able to ride my bike from home and ride it all the way back home. I was able to take Caltrain from Santa Clara to San Bruno, which meant that I didn’t need to get a ride from anyone. There were tons of stores, cafes, and restaurants along the way, so I didn’t have to carry more than a day’s food.

With these considerations in mind, I mapped out the following route favoring gravel roads, paths, and small roads: San Bruno – Pacifica/Linda Mar – Half Moon Bay – Pescadero – Big Basin – Skyline – Los Gatos

Day 1: San Bruno to Half Moon Bay

My adventure began with a ride to the Santa Clara Caltrain station. It was my first time taking a bike on Caltrain, so I had done some research online. I knew I needed a destination tag and that I shouldn’t block bikes getting off earlier than me. To make things easier, I took a train later in the morning, after the morning commute.

A bike with bikepacking bags loaded onto a train. Caltrain is a good option to get to the start of your trip in the Bay Area.
The train was almost empty, so it was easy to bring my fully loaded bike.

Once I got to San Bruno, I rode a couple of miles along San Bruno Avenue before I got to the start of the trail. The traffic wasn’t too bad, and it worked as a good warmup before the real climbing began.

At the Sweeny Ridge Trailhead, I rounded the gate and started making my way up the hill towards the Pacific Ocean. I had extensive views of the calm San Francisco Bay, SFO, and San Andreas Lake.

Hilltop views of the SF Bay and SFO

The pavement ended as I crested the hill. I started descending towards the glistening ocean on a well-maintained gravel road. I took a wrong turn at one point while coming down Baquiano Trial and ended up on a washed-out singletrack trail and almost took a spill as my front wheel got stuck in the crack that a small stream had created.

A dirt road over mountains leading towards the ocean
Rolling down to the beach

My first stop was lunch in Linda Mar. I locked up my bike outside the Devil’s Slide Taproom and sat out on the patio, enjoying the December sunshine. Not a bad start to my trip!

A bike water bottle, a glass of beer and a glass of water
Staying on top of my hydration

Full from my lunch hamburger, I started climbing Pedro Mountain Road toward Half Moon Bay. The ascent was slow and steady, mostly shaded. I was glad I had a 34T chainring, the stock 38T would have made for a tough climb with all the gear.

The descent on Pedro was a ton of fun. Even fully loaded, the Cutthroat felt smooth on the gravel and offered a much more comfortable ride than I would ever have expected from a non-suspension bike.

I made my way through some residential areas and past the airport in Half Moon Bay before stopping for a snack break in the harbor.

Waves washing up on a rocky beach
South of Half Moon Bay Harbor

From the harbor, I only had a couple of miles along the coastal trail to the campground. The campground has a hike and bike camp area that I shared with four other groups of people out on bike tours.

A tent set up under a large tree. A bike leaning on the tree.
Beachside camping in Half Moon Bay

After setting up camp, I rode up to Safeway and a pizza shop to get some dinner. I then spent a couple of hours talking to a couple of other bicyclists from SF before turning in for the night.

Distance: 25 miles
Elevation gain: 2,650 ft
Route: San Bruno Caltrain Station – San Bruno Ave – Sneath Ln Trail – Baquiano Trail – Fassler Ave – Peralta Rd – Pedro Mountain Rd – Farallone Ave – Carlos St – Etheldore St – Cypress Ave – Airport St – Cornell Ave – Capistrano Rd – Pillar Point Harbor Blvd – Half Moon Bay Coastal Trail – Francis Beach Campground

Day 2: Half Moon Bay to Big Basin

The sun rising behind trees
Sunrise on day 2

I packed up camp at a leisurely pace after having breakfast. The night had been drier than I expected it to be so close to the beach. The morning sun dried up the remaining condensation before I packed up.

I stopped at a coffee shop in Half Moon Bay before starting my ride because I wanted to have lunch in Pescadero and didn’t want to get there too early. I warmed up in the morning sun and stretched while enjoying the coffee.

Waves rolling onto a beach beneath cliffs
Cliffs, waves, and single track along the coastal trail

I started riding south on a trail along the cliffs overlooking the ocean. The dirt path turned into hard-packed singletrack, but it was easy going on my bike.

I passed the Ritz Carlton and the golf course. The paved trail ends abruptly, so I had to go around a fence to continue on a small path along the shore.

A well groomed trail between the coast and a golf course
Riding along the Ritz Carlton golf course

After a while, the path connected to the Cowell-Purisima Coastal trail. The trail is only open on weekends and holidays. If it’s closed, you need to hop on Highway 1 already here and miss about 3 miles of the coastal trail.

The route I mapped out only had me riding Highway 1 for 5 miles before taking Stage Road. The highway shoulder was wide, so it didn’t end up being as bad as I had feared. Nevertheless, Stage Road was much more fun to ride on a bike. It had very little traffic and offered rolling hills and beautiful landscapes.

A loose gravel sign on a asphalt road
Good thing I was riding my gravel bike…

In Pescadero, I stopped for lunch at a gas station taqueria. That might not sound very appealing, but it was a super decent taqueria that just happened also to sell gas.

Before heading out, I enjoyed a good coffee at the local coffee shop–knowing I’d only have instant coffee for the rest of the trip.

A small road running through thick forest, along a creek
Gazos Creek Road

The road continued past Butano State Park, getting narrower as it climbed into the redwoods. The tall redwood trees along Gazos Creek Road cooled down the air so much that I contemplated adding a layer. But I knew I’d soon get warm as I had a big hill ahead of me.

A locked gate with signs warning of loose rocks, lack of pavement, and no cell phone signal.
Abandon hope all ye who enter here

The paved road ended at a gate. The spot seemed to be popular among local mountain bikers that had parked their cars there and continued up the dirt road. I lifted my bike over the side of the gate and started my climb.

The climb was tough. 1,000 ft with an average grade of 10%, going up to 20% at times. Everyone else on the trail had e-bikes, and here I was, hauling all my gear the old-fashioned way. I had to hike my bike several times, especially in steep, muddy sections.

A wet dirt road with a puddle
The climb was wet and steep, but beautiful

There’s a cool private inholding on top of the hill. It has a treehouse and train cars–a 12-year-old’s dream house. (They ask people not to post pictures online, so you need to go and check it out yourself.)

From the treehouse, I only had a mile left to Sunset trail camp. The road leading down to the camp was full of branches and rocks from the previous weeks’ storms, but it was still rideable.

Clear blue skies over rolling green hills
Views from Anderson Landing Road

Finally, at the campsite, I set up my tent and went down to the creek to get water. It was a 10 min walk down to the stream. Once I got there, I realized that my water filter had seized up. I couldn’t get a drop of water through it. Note to future self: check the water filter before heading out. Fortunately, I had water purification tabs in my kit for situations just like this.

A tent and a bike next to a bear box
Campsite 1 at Sunset trail camp

It got dark before 6, so I crawled into my sleeping bag after dinner and watched a movie on my phone before going to bed.

Distance: 35 miles
Elevation gain: 2,750 ft
Route: Half Moon Bay Coastal Trail – Cowell-Purisima Coastal Trail – Highway 1 (Cabrillo Hwy) – Stage Road – Pescadero Creek Road – Cloverdale Road – Gazos Creek Road- Creek Road – Anderson Landing Road – Sunset Trail Camp

Day 3: Big Basin to Los Gatos

I woke up to soft rain on the tent. It was cold out, and my sitting log was wet, so I decided to have breakfast in bed. The drizzle stopped for a moment as I packed my bike and started riding.

The same view as the day before, now covered in fog
Not so sunny anymore

The ride up Anderson Landing Road was (unsurprisingly) much more difficult than coming down. But freshly rested legs made a big difference.

I turned back onto Gazos Creek Road, toward Big Basin HQ–this was my favorite section of the whole trip. The fog and rain almost made it more magical to roll down through the redwoods. The road was in good shape and not too steep so I could enjoy the scenery.

A dirt road running through a redwood forest
Prime redwood riding
A redwood stump that looks like it exploded
What happened here?

I ate a snack and filled up my water bottles at Big Basin HQ. From here, the next 26 miles would be along typically busy roads. And the first 18 of those miles would be a steep uphill.

A bike inside a large redwood tree
Bike in a tree

The 236 was almost empty on this rainy Sunday morning. It turned what I had feared would be one of the least pleasant parts of the ride into a smooth pavement rollercoaster through the redwoods.

Empty pavement running through a forest
Smooth rolling on an empty 236

Highway 9 and 35 also had surprisingly light traffic for a weekend. The fog blocked most views, but occasionally the clouds would lift a bit to reveal mystical mountain views.

Foggy mountains
Fog lifting to reveal some cool views

The ride down from Skyline Boulevard on Black Road was a ton of fun. Again, almost no cars. My only concern was cooking my breaks on the nearly 2,500 ft descent.

A narrow road through a forest
The descent on Black Road was a ton of fun

When I got down to Lexington Reservoir, I struggled to find the bike path for a while. I eventually found it on the other side of the bridge, a muddy unmaintained road that connected to Alma Bridge Road. From there, I crossed the dam and took the Los Gatos Creek Trail down to Los Gatos.

A reservoir surrounded by new grass sprouting
Lexington Reservoir

I ate a big lunch in downtown Los Gatos and finished the last 20 miles home in the pouring rain.

A building painted with an American flag
Downtown Los Gatos

Distance: 36 miles
Elevation gain: 4,050 ft
Route: Anderson Landing Road, Gazos Creek Road, 236, Highway 9, Highway 35, Skyline Boulevard, Black Road, Alma Bridge Road, Los Gatos Creek Trail.


Lessons learned

I was delighted with the route and my gear. Especially the bike was fantastic.

I’ll still need to fiddle around with where to pack things in my bags–especially where to put my tent if it’s wet. But without the winter gear like an extra fleece and down pants, I’ll have more space for everything.

In the end, the biggest lesson learned was not bikepacking related at all. It was to always check your gear before heading out.