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 bikepacking.com, 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.
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.
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.
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!
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
I ate a big lunch in downtown Los Gatos and finished the last 20 miles home in the pouring rain.
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.
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.