Four LGBTIQ-friendly days in Sonoma
Sonoma County is famous for lush vineyards but its also full of redwoods, historic towns and creative restaurants. Not to mention, it's proudly inclusive.

It’s a California county famous for lush vineyards, but Sonoma dazzles visitors with its array of other charms. The scenery starts with fertile valleys giving way to rolling hills and redwood forests. They’re linked by historic towns and creative restaurants showcasing the flavors from local farms, pastures and coastlines. Wineries here are among the best anywhere on earth, though brewers, distillers and cideries welcome eager taste-testers too.
The county also proudly embraces inclusivity, marked by its recent “Wine Country for All of Us” campaign. It’s a way Sonoma can honor its diverse communities, from LGBTIQ+ pioneers and multi-generational immigrant families who shaped the wine and agriculture industries to women’s-history activists whose efforts helped establish Women’s History Month.
Here’s how to get to know people and places across the vast, versatile county of Sonoma during an ultimate weekend escape.
- When to arrive: There’s no wrong time to enjoy Sonoma’s bounty, but January and February are usually chilly and rainy for outdoor adventures. Aim for spring and fall visits to avoid summer’s peak vacation traffic. September is prime time to view gorgeous rows of grapes around harvest season. Three nights is a good starter trip. Add a few more for enough time to both explore and chill out.
- How to get from the airport: Both SFO and Oakland Airports are a little over one hour’s drive to reach southern Sonoma County.
- Getting around town: Between Sonoma County’s parks, small towns, the Pacific Coast Highway, and vineyards with tasting rooms and lovely dining options, driving is a necessity – and incredibly scenic.
- Where to stay: Along the Russian River in Guerneville, immerse yourself in fresh forest air by lodging in a custom Airstream at AutoCamp, in a polished rustic cabin at Dawn Ranch or at home-away-from-home Mine+Farm Inn.
- What to pack: Northern California weather can fluctuate quite a bit, no matter the season. So even on expected warm, dry days, it's wise to pack layers, including a rain jacket.
Thursday
While all the towns in Sonoma County are friendly and fabulous, the historic hamlet of Guerneville offers a quiet, central perch between the redwoods, vineyards and ocean, with several small inns tucked into natural groves along the Russian River and up the hill. Guerneville has long been a welcoming retreat for the LGBTIQ+ community, and here you’ll find many fantastic queer-owned businesses.
Arrive by sunset to enjoy your weekend’s first Sonoma wines at Equality Vines bar and tasting room, then head to dinner at Boon Eat + Drink for well made, locally sourced dishes.
Friday
Morning: Stop off for breakfast at Pat’s International, a Guerneville institution since the town’s early logging days. Use those biscuits as fuel for a fresh forest hike at Armstrong Redwoods State Natural Reserve, a mighty yet compact park two miles from Main Street, with easy walking trails and one wheelchair-accessible path. Redwoods can live for many centuries, growing more than 30 stories high, and this grove is an enchanting place to see them soar. Don’t miss the 1400-year-old Colonel Armstrong Tree, the park’s oldest.
How to spend the day: Bring your walking shoes and a thirst for adventure – and vino – and drive about 30 minutes north to Geyserville. Here, oenophiles and cinephiles unite at the Francis Ford Coppola Winery, where you can opt for different wine-tasting choices that add cheese, chocolate or a round of bocce. Then explore unique memorabilia you may remember from the director’s decades of filmmaking, including pieces from Apocalypse Now, Bram Stoker’s Dracula and The Godfather Trilogy. You can dine on some of Coppola’s favorite global dishes at Rustic or save your appetite for the next stop.
Midday brings a lovely afternoon drive southward through to the city of Sonoma. Along routes 101 and 12, you can detour for wine and choice food tastings at prestigious wineries, such as Paradise Ridge, Carol Shelton (a Zinfandel specialist), Fogline, Ledson and St. Francis Vineyards.
Swing into Jack London State Historic Park in Glen Ellen for a fresh-air walkabout. There you can see the famous Bay Area author’s cottage and desk, his gravesite, and other historic buildings and scenic walking trails.Exception: The parser function of type "canto_diptych" is not defined. Define your custom parser functions as: https://github.com/shuqikhor/editorjs-html-php#extend-for-custom-blocks in /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php:70 Stack trace: #0 /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php(17): edjsHTML::parse_function_error('canto_diptych') #1 [internal function]: edjsHTML::parse_block(Array) #2 /code/web/modules/custom/editorjs_custom_plugins/src/Parser/CustomParser.php(28): array_map(Array, Array) #3 /code/web/modules/custom/aws_event_pipeline/src/Mappers/v1/ArticleMapper.php(123): Drupal\editorjs_custom_plugins\Parser\CustomParser::parse(Array) #4 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(168): Drupal\aws_event_pipeline\Mappers\v1\ArticleMapper->toAwsPayload(Object(Drupal\node\Entity\Node)) #5 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(151): Drupal\aws_event_pipeline\AwsFormatter->getPayload(Object(Drupal\node\Entity\Node), Array) #6 /code/web/modules/custom/aws_event_pipeline/src/AwsEventSync.php(174): Drupal\aws_event_pipeline\AwsFormatter->getAwsMessage(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent), Array) #7 /code/web/modules/custom/aws_event_pipeline/src/EventSubscribers/EntityEventSubscriber.php(146): Drupal\aws_event_pipeline\AwsEventSync->sendToAws(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent)) #8 [internal function]: Drupal\aws_event_pipeline\EventSubscribers\EntityEventSubscriber->onEntityUpdate(Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #9 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #10 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(231): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Entity\EntityEvent), 'entity.update') #11 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(900): Drupal\Core\Entity\EntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node)) #12 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(579): Drupal\Core\Entity\ContentEntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node)) #13 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(781): Drupal\Core\Entity\EntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true) #14 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(504): Drupal\Core\Entity\ContentEntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true) #15 /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\node\Entity\Node)) #16 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\node\Entity\Node)) #17 /code/web/modules/contrib/lightning_workflow/modules/lightning_scheduler/src/TransitionManager.php(212): Drupal\Core\Entity\EntityBase->save() #18 /code/web/modules/contrib/lightning_workflow/modules/lightning_scheduler/lightning_scheduler.module(69): Drupal\lightning_scheduler\TransitionManager->process('node', Object(Drupal\Core\Datetime\DrupalDateTime)) #19 [internal function]: lightning_scheduler_cron(Object(Drupal\ultimate_cron\Entity\CronJob)) #20 /code/web/modules/contrib/ultimate_cron/src/Entity/CronJob.php(325): call_user_func('lightning_sched...', Object(Drupal\ultimate_cron\Entity\CronJob)) #21 /code/web/modules/contrib/ultimate_cron/src/Entity/CronJob.php(471): Drupal\ultimate_cron\Entity\CronJob->invokeCallback() #22 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(213): Drupal\ultimate_cron\Entity\CronJob->run(Object(Drupal\Core\StringTranslation\TranslatableMarkup)) #23 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(334): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->launch(Object(Drupal\ultimate_cron\Entity\CronJob)) #24 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(309): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->runThread('6152854', 1, Array) #25 /code/web/modules/contrib/ultimate_cron/src/UltimateCron.php(64): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->launchJobs(Array) #26 /code/web/modules/contrib/ultimate_cron/src/ProxyClass/UltimateCron.php(70): Drupal\ultimate_cron\UltimateCron->run() #27 /code/web/core/modules/system/src/CronController.php(46): Drupal\ultimate_cron\ProxyClass\UltimateCron->run() #28 [internal function]: Drupal\system\CronController->run() #29 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array) #30 /code/web/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #31 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #32 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) #33 /code/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #34 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #35 /code/web/modules/contrib/redirect_after_login/src/RedirectMiddleware.php(44): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #36 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Drupal\redirect_after_login\RedirectMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #37 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #38 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(191): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #39 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(128): Drupal\page_cache\StackMiddleware\PageCache->fetch(Object(Symfony\Component\HttpFoundation\Request), 1, true) #40 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(82): Drupal\page_cache\StackMiddleware\PageCache->lookup(Object(Symfony\Component\HttpFoundation\Request), 1, true) #41 /code/vendor/asm89/stack-cors/src/Cors.php(53): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #42 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Asm89\Stack\Cors->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #43 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #44 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #45 /code/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #46 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #47 {main}
Dinner: Continue south from the park to the town of Sonoma, where you can park around the famous colonial-era plaza and spend the day’s waning hours checking out the county’s most historic city. If time allows, visit the landmarked 19th-century mission, barracks and other adobe buildings, or just browse the art galleries and boutiques.
Make a reservation for fine rustic-French dining at the girl & the fig, one of the best restaurants for sampling the county’s exceptional ingredients. Along with dishes involving heirloom vegetables, local chicken and wild mushrooms, do try the delectable fig cake, jams and fig-syrup cocktails.
After dark: It’s been a full day, so enjoy a leisurely drive back to your inn and rest up for tomorrow’s Sonoma adventure.
Saturday
Morning: Set the tone for a soothing day with a morning spa treatment. Grab a breakfast pastry from the café at Dawn Ranch, a glamping and cottage-style retreat in Guerneville. Then head to its Spa, where you will positively melt into total serenity with an outdoor mineral bath. (Reserve well in advance, they have only two redwood soaking tubs.) You can add a facial, body treatment, steam, sauna and tea in the meditation garden.
How to spend the day: Regroup yourself post-spa, then zip 40 minutes west to Bodega Bay along some of the prettiest roads in America, from forests onto California Highway 1. For lunch, head to Fishetarian, a seafood market and casual dining spot. The menu here is everything to fish fans. Their fresh-shucked and grilled oysters are divine; not to mention the clam chowder, fish tacos, crab cakes and calamari. They serve an inspired list of sauces and a nice kale-cabbage slaw.
One driveway down is Sonoma Coast Vineyards, where your next tasting awaits. Sample the label’s pinot noirs from surrounding vineyards just a few miles off the coast and from other wineries. Better still, you can sip them on the outdoor terrace overlooking the Pacific.
Drive a short jaunt north to Shell Beach for an afternoon hike among the wildflowers of Kortum Trail, a coastal path that’s part of the 17-mile-long Sonoma Coast State Park.
Dinner: Book ahead for dinner at Terrapin Creek, a refined restaurant that’s something of a California-meets-Japan culinary destination in Bodega Bay. Focused on seasonal ingredients, expect a concise menu that features uber-fresh crudo, fisherman’s stew, local duck breast and excellent house-made pastas and desserts.
After dark: Head back to Guerneville for an early night or maybe a spot of ice cream at Nimble & Finn’s inside the Guerneville Bank Club. Or if you fancy a mingle and a nightcap, the neighborhood-favorite gay bars R3 and the Rainbow Cattle Company are open until midnight on weekends.
Sunday
Morning: To kick off your last day, wind through the county to Sebastopol, a centrally located small city. Head to The Barlow, an urban market district where you can pack in a lot or a little. Start with a hearty brunch (boozy is optional) at the luscious Fern Bar, which not only builds dishes and drinks with excellent local organic ingredients, it’s also attentive to food allergies and has great vegan options.
How to spend the day: Float around The Barlow to sample local cheeses at WM Cofield Cheesemakers, taste ciders on tap at Golden State Cider, pick up primo Italian olive oil at Il Fusti, and delight in authentic French baked goods at Sarmentine. Over at JG Switzer, browse beautiful, locally handmade wool throws, pillows and other creative textiles. Or see about some new wardrobe staples at Rust Boutique.
If you like sparkling wine, one of the top tasting experiences in Sonoma County is about 15 minutes from Sebastopol at family-run Iron Horse Vineyards (reservations are recommended). Head up a long driveway to the main house, where you’ll sample some of the country’s best sparkling vintages from a hilltop terrace overlooking the vineyards. (Fun fact: Iron Horse has long been favored at White House dinners and was the wine of choice at President Obama’s inaugurations). If you’re lucky and are there on a Sunday, you can join occasional oysters-and-sparkling tastings organized by the local Oyster Girls traveling oyster bar.
Dinner: About 20 minutes east is Santa Rosa, one of Sonoma’s best dining towns. Book a table at high-end, Sonoma-style, Spinster Sisters. Take a seat on the big covered patio, sip a fine cocktail or mocktail, and let your palate guide you through the prime California menu sections of “garden, ocean, pasture,” plus dreamy local cheeses and after-dinner sweets.
Bonus tips: Sonoma County is day-driven, so enjoy its morning hours and activities, and expect many restaurants serving dinner to close by 9pm. Also remember to reserve wine-tasting times if you’re heading to a smaller winery or to a famous one your heart is set on.
In case you were winging it and didn’t make a reservation for any tastings, Sonoma County rounded up a handy list of wineries that welcome walk-ins, as well as three choices of county-wide tasting passes.
Regarding cannabis: Adult-use marijuana has been legal in California since 2016 and if you partake, there are countless dispensaries at your disposal. One of the best and longest-running is the woman-owned Natural Cannabis Company, operating OrganiCann in Santa Rosa. You also can partake at Mine+Farm Inn, where the owners grow their own cannabis for guests’ on-site enjoyment. Please put safety first: do not get high and drive, and be overly cautious about mixing marijuana and alcohol (or just avoid it).