Salads
This broccoli bacon red onion salad recipe delivers the perfect balance of crispy, chewy, and sweet flavors in every bite. After years of testing combinations, I've perfected the technique for achieving restaurant-quality crunch in the broccoli and bacon without drying out the vegetables or making them soggy.
The secret lies in proper timing and a light dressing that enhances rather than overwhelms.
The salad features tender broccoli florets with crispy edges, smoky bacon that adds rich depth, and sweet red onions that provide a refreshing bite. I developed this recipe during a particularly busy week when I needed a meal that was both satisfying and simple to prepare.
With just 15 minutes of active time, you can transform fresh ingredients into a dish that feels special without requiring hours in the kitchen.
What you'll end up with is a salad that's hearty enough to serve as a main course but light enough for a side dish. The combination of textures—crispy bacon, tender broccoli, crunchy onions—creates an addictive contrast that keeps each bite exciting.
The dressing ties everything together with a balance of tangy, sweet, and savory notes that complement each component perfectly.
This recipe works beautifully as a standalone meal or alongside grilled chicken, fish, or steak. For added protein, consider topping with grilled shrimp or chickpeas. The flavors also develop beautifully when made ahead, making it an ideal dish for meal prep.
Let's get started on creating this flavorful salad that's sure to become a family favorite.
Ingredients for broccoli bacon red onion salad
Fresh veggies, smoky bacon, and a tangy dressing—this salad packs flavor without the fuss.
| Ingredient | Amount | Notes |
|---|---|---|
| Broccoli Crowns 🥦 | 1 ½ lb | Cut into even florets |
| Bacon 🥓 | 8 oz | Thick-cut preferred, chopped |
| Red Onions 🧅 | 1 whole | Thinly sliced, soak in cold water |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For roasting broccoli |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh thyme |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Apple Cider Vinegar 🍎 | 2 tbsp | For dressing |
| Honey 🍯 | 1 tbsp | Or maple syrup for vegan |
| Dijon Mustard 🍯 | 1 tsp | For dressing tang |
| Garlic Cloves 🧄 | 2 cloves | Minced for dressing |
| Baby Spinach 🥬 | 4 cups | Fresh, loosely packed |
| Crumbled Blue Cheese 🧀 | ¼ cup | Optional topping |
| Toasted Walnuts 🌰 | ¼ cup | Optional crunch |
The bacon makes or breaks this salad. Thick-cut gives the best texture, and Costco or Trader Joe's usually have the best deals. Chop it yourself—pre-chopped gets soggy fast. For the broccoli, look for crowns at the grocery store (they're pre-trimmed and cook faster). Red onions? Sweet reds like Vidalia are perfect, but regular reds work too. Soak the sliced onions in cold water for 10 minutes to mellow their bite—trust me, it's worth it.
No thick-cut bacon? Regular bacon works fine, just cook it longer. Swap honey for maple syrup if you're avoiding it. The dressing can be made ahead—it actually tastes better after sitting for a few hours. For the cheese, Gouda or cheddar crumbles work too if you're not a blue cheese fan. The walnuts? Toast them in a dry pan for 3-4 minutes until fragrant. No walnuts? Pecans or almonds are great substitutes. And if you're prepping ahead, keep the dressing separate until right before serving.
Broccoli and bacon keep for 3 days in the fridge, but the onions and greens are best used fresh. Store everything separately in airtight containers. The dressing? 5 days in the fridge, or freeze for 3 months. I always make double—this salad is perfect for meal prep. Toss it together when you're ready to eat, and the flavors get even better as they meld. Leftovers? Reheat the broccoli and bacon separately to keep everything crisp.
Why You'll Love This Recipe
- No-Chop Nightmare: I swear, the broccoli crowns are pre-cut—just toss them in. The bacon cooks in one pan while you slice the onions (five minutes, tops), and the thyme? Sprinkle it on like you’re a fancy chef. Honestly, this is the kind of salad that makes me feel like I actually cooked something.
- Crispy-Savory Magic: That first bite? Crunchy bacon meets tender broccoli, then the red onion’s sharp bite cuts through the richness—like a flavor party where everyone’s invited. The olive oil and thyme tie it all together, but the real star is how the bacon’s smokiness lingers even after the last forkful.
- Lunchbox Hero: Between us, this salad holds up way better than you’d think. Pack it for work, and it’s still crispy the next day (yes, even the onions). My kids eat it cold in their lunches, and my husband brings it to meetings—no one skips a meal when this is on the table.
- Budget Flex: Bacon’s the splurge, but a pound lasts forever. Use half for this salad, save the rest for sandwiches or pasta. Red onions are cheap, broccoli’s a staple, and olive oil? You already own it. This is the kind of recipe that stretches your grocery money without sacrificing taste—or sanity.
Step-by-step instructions for broccoli bacon red onion salad
Here's how to create a salad with perfectly crispy broccoli, smoky bacon, and sweet caramelized onions.
Roast the Broccoli Until Crispy
Preheat your oven to 425°F and line a baking sheet with parchment paper. Cut the 1.5 lb broccoli crowns into even florets, keeping the stems intact for stability. Toss them with 0.5 cup extra-virgin olive oil, 1 tsp dried thyme, 1 tsp salt, and 0.5 tsp black pepper until evenly coated.
Spread the broccoli in a single layer on the baking sheet, leaving space between florets. Roast for 20-25 minutes, stirring halfway through, until the edges are deep golden brown and the stems are tender when pierced with a fork. The broccoli should have a satisfying crunch—this is your crispy foundation. Let it cool slightly before using.
Cook the Bacon and Caramelize the Onions
In a large skillet over medium heat, cook the 8 oz chopped bacon until crispy, about 8-10 minutes. Use a slotted spoon to transfer the bacon to paper towels to drain excess fat, leaving about 2 tablespoons of bacon fat in the skillet.
Add the 1 whole thinly sliced red onion (drained from soaking water) to the skillet with the bacon fat. Cook over medium-low heat for 15-20 minutes, stirring occasionally, until the onions are soft and golden brown with caramelized edges. This sweetness will balance the salad's flavors beautifully.
Make the Sweet-Tangy Dressing
In a small bowl, whisk together the 2 tbsp apple cider vinegar, 1 tbsp honey, 1 tsp Dijon mustard, 2 minced garlic cloves, and 1 tablespoon of the reserved bacon fat. The dressing should be smooth and glossy—this is your flavor bridge between all the components.
Taste and adjust seasoning with more salt or pepper if needed. The dressing should be tangy-sweet with a subtle garlic kick. If it seems too thick, add 1 teaspoon water to loosen it slightly. Set aside until ready to toss.
Assemble the Salad
In a large bowl, combine the 4 cups baby spinach, roasted broccoli, cooked bacon, and caramelized onions. Pour the dressing over the top and toss gently but thoroughly to coat everything evenly. The spinach will wilt slightly from the warm dressing, creating a perfect bed for the crispy toppings.
Real talk: Don't over-toss or you'll crush the broccoli's texture. Instead, use your hands to gently fold everything together, ensuring each bite gets a mix of spinach, broccoli, bacon, and onions. The contrast of temperatures and textures is what makes this salad special.
Add Toppings and Serve Immediately
Divide the salad among plates and top each serving with 1 tablespoon crumbled blue cheese and 1 tablespoon toasted walnuts. The blue cheese adds a creamy, tangy element that cuts through the richness of the bacon, while the walnuts provide a satisfying crunch.
Serve immediately while everything is still crispy and warm from the roasting. The contrast of temperatures—warm broccoli and bacon against cool spinach—elevates each bite. This salad holds up well for 1 hour if stored in the fridge, but the texture suffers after that, so enjoy it fresh!
Pro Tips For Making Broccoli Bacon Red Onion Salad
- CRISP THE BACON FAST: Cook the bacon in a cold, dry skillet—no preheating needed. Start with the pan on medium, add the bacon, and let it render its own fat before turning the heat up to medium-high. I learned this the hard way after flipping greasy, soggy bacon that refused to crisp.
- CUT ONIONS SMALLER THAN YOU THINK: Slice the red onion into paper-thin half-moons, not wedges. They’ll caramelize faster and sweeten up better without turning bitter. (Yes, even if you’re impatient like me—this isn’t the step to rush.)
- DON’T OVERCOOK THE BROCCOLI: Blanch the broccoli crowns in boiling water for exactly 45 seconds, then shock in ice water. Any longer and they’ll turn mushy—this salad needs texture, not a sad, limp broccoli pile. (Your future self will thank you.)
- TOSS WITH OLIVE OIL LAST: Add the extra-virgin olive oil and thyme right before serving—it keeps the greens crisp and the bacon from getting soggy. If you dress it ahead, the broccoli will wilt faster than a bad joke at a dinner party.
Perfect pairings for this recipe
Beverage Pairings
This salad's rich, smoky bacon and sweet caramelized onions pair beautifully with a crisp Sparkling Apple Cider—the effervescence cleanses your palate between bites. I love Martinelli's brand for its bright, slightly tart flavor.
For beer lovers, a Belgian Witbier like Hoegaarden complements the salad’s sweetness with citrusy notes and subtle spice. 🍺
Wine Complements
A light Pinot Noir from Oregon or California balances the bacon’s smokiness while enhancing the broccoli’s earthiness. I recommend La Crema for its smooth, fruity profile. For white wine fans, a Chardonnay with light oak—like Kim Crawford Sauvignon Blanc—adds a creamy texture that mirrors the blue cheese.
Both wines elevate the dish without overpowering it.
Coffee & Tea
If you prefer a caffeine boost, a lightly roasted pour-over coffee with a splash of vanilla syrup enhances the salad’s sweet and savory notes. For tea lovers, hibiscus tea (like Adagio Tea’s brand) adds a tart, fruity contrast that cuts through the richness.
Serve either chilled for a refreshing pairing. ☕
Non-Alcoholic Options
For a refreshing non-alcoholic drink, try sparkling water with lime—the acidity brightens the salad’s flavors. I add a pinch of sea salt to the rim of my glass for extra depth.
Another favorite is ginger beer (like Feather’s), which adds a zesty kick that pairs perfectly with the caramelized onions. 💧
Dessert Pairings
After enjoying this hearty salad, a lemon sorbet or honey-drizzled ricotta with fresh berries balances the meal’s richness. The tartness of the sorbet or the creaminess of the ricotta cleanses your palate, making the salad’s flavors even more memorable. 🍋
Nutrition facts
Frequently asked questions
Can I make this salad ahead of time?
Yes, but with a few key adjustments. Roast the broccoli and cook the bacon up to 1 day ahead, then store them separately in airtight containers. Soak the red onions for 10 minutes before slicing, but don't caramelize them ahead—they lose their texture. Keep the dressing separate until serving. When ready to eat, quickly reheat the broccoli and bacon, toss everything together, and add the dressing just before serving.
What if I don't like blue cheese or want a vegan option?
No problem! Swap the blue cheese for vegan feta or omit it entirely. For a vegan version, replace the bacon with crispy chickpeas (toss canned chickpeas with olive oil, salt, and smoked paprika, then bake at 400°F for 25 minutes) and use maple syrup instead of honey in the dressing. The salad still works beautifully without cheese or meat!
How do I keep the broccoli from getting soggy?
The secret is timing and technique. Roast the broccoli until it's deep golden brown and crispy, then let it cool completely before adding it to the salad. Also, don't add the dressing until right before serving. If you're prepping ahead, store the broccoli and bacon separately from the greens and onions. When ready to assemble, toss the greens with dressing first, then add the crispy components on top.
Can I use frozen broccoli instead of fresh?
Fresh broccoli gives the best texture, but frozen works in a pinch. Thaw it completely first, then pat it very dry with a paper towel to remove excess moisture. Roast it at 425°F for 15-20 minutes, stirring once, until it's crispy. You may need to add 1 extra minute of roasting time compared to fresh broccoli, and check it frequently to prevent burning.
What's the best way to store leftovers?
Store components separately to maintain texture. Keep the roasted broccoli and bacon in one airtight container, the greens and onions in another, and the dressing in a small jar. Refrigerate for up to 3 days. When ready to eat, quickly reheat the broccoli and bacon (microwave for 30-45 seconds), then toss everything together with fresh dressing. The salad won't be as crispy as when fresh, but it's still delicious!
