Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 medium head cauliflower (about 2 lb / 900 g), cut into florets
- 1 head garlic
- 4 tbsp extra-virgin olive oil, divided
- 1 medium yellow onion, chopped
- 1 rib celery, chopped (optional but recommended)
- 1 can (15 oz / 425 g) cannellini or great northern beans, drained and rinsed
- 4 cups (960 ml) low-sodium vegetable broth
- 1 1/2 tsp fresh thyme leaves (or 1/2 tsp dried thyme)
- 1 tsp fine sea salt, plus more to taste
- 1/2 tsp freshly ground black pepper, plus more for serving
- 1–2 tsp fresh lemon juice
- Extra thyme and olive oil for drizzling
Do This
- 1. Heat oven to 425°F (220°C). Toss cauliflower with 2 tbsp olive oil, salt, and pepper; spread on a baking sheet. Slice the top off the garlic head, drizzle with oil, wrap in foil, and place on the same sheet.
- 2. Roast 30–35 minutes, until cauliflower is deeply golden at the edges and garlic is soft and caramelized. Set a few pretty florets aside for garnish.
- 3. In a pot, warm 1 tbsp olive oil over medium heat. Sauté onion (and celery, if using) with thyme and a pinch of salt for 5–7 minutes, until soft and sweet.
- 4. Squeeze roasted garlic cloves out of their skins into the pot. Add roasted cauliflower, beans, broth, 1 tsp salt, and 1/2 tsp pepper. Simmer 10–15 minutes.
- 5. Remove from heat. Discard any bay leaf if using. Blend with an immersion blender, or carefully in batches in a countertop blender, until very smooth and creamy.
- 6. Stir in lemon juice and the remaining 1 tbsp olive oil. Adjust seasoning and thin with a splash of broth if needed. Serve hot, topped with reserved cauliflower, thyme, black pepper, and a drizzle of olive oil.
Why You’ll Love This Recipe
- Luxuriously creamy without any dairy, thanks to white beans and roasted cauliflower.
- Roasted garlic and thyme add deep, cozy flavor with minimal effort.
- Simple pantry ingredients come together into a restaurant-worthy soup.
- Easy to make ahead, freezes well, and is naturally vegetarian (and easily vegan).
Grocery List
- Produce: 1 head cauliflower, 1 head garlic, 1 yellow onion, 1 rib celery, fresh thyme, 1 lemon (optional but recommended).
- Dairy: None required (optional: heavy cream, Greek yogurt, or Parmesan for variations).
- Pantry: Extra-virgin olive oil, 1 can cannellini or great northern beans, low-sodium vegetable broth, fine sea salt, black pepper, bay leaf (optional).
Full Ingredients
For the Soup
- 1 medium head cauliflower (about 2 lb / 900 g), trimmed and cut into 1 1/2-inch florets
- 1 large head garlic
- 4 tbsp extra-virgin olive oil, divided
- 1 medium yellow onion, finely chopped (about 1 cup)
- 1 rib celery, finely chopped (about 1/2 cup, optional but adds depth)
- 1 can (15 oz / 425 g) cannellini or great northern beans, drained and rinsed (about 1 1/2 cups cooked beans)
- 4 cups (960 ml) low-sodium vegetable broth, plus more as needed to thin
- 1 1/2 tsp fresh thyme leaves, finely chopped, or 1/2 tsp dried thyme
- 1 bay leaf (optional, for extra flavor)
- 1 tsp fine sea salt, plus more to taste
- 1/2 tsp freshly ground black pepper, plus more to taste
- 1–2 tsp fresh lemon juice, to brighten the flavor
For Serving (Optional but Recommended)
- 1–2 tbsp extra-virgin olive oil, for drizzling
- A few reserved roasted cauliflower florets
- Extra fresh thyme leaves
- Freshly ground black pepper
- Crusty bread, for dipping

Step-by-Step Instructions
Step 1: Preheat the oven and prep the vegetables
Preheat your oven to 425°F (220°C). Line a large baking sheet with parchment paper for easy cleanup. Trim the leaves and core from the cauliflower and cut it into roughly 1 1/2-inch florets so they roast evenly. Place the florets on the prepared baking sheet.
Take the head of garlic and slice about 1/4 inch off the top to expose the cloves. Place the garlic on a small piece of foil, drizzle with about 1 teaspoon of the olive oil, and wrap it loosely into a sealed packet.
Step 2: Roast the cauliflower and garlic
Drizzle the cauliflower florets with 2 tablespoons of olive oil, then sprinkle with a generous pinch of salt and black pepper. Toss directly on the sheet until everything is well coated, then spread the florets out in an even layer, leaving space between pieces so they can brown rather than steam.
Place the foil-wrapped garlic on the same baking sheet. Roast for 30–35 minutes, stirring the cauliflower once halfway through, until the florets are deeply golden at the edges and tender all the way through. The garlic is done when the cloves feel very soft when pressed through the foil. Set the pan aside to cool slightly. Reserve a few of the prettiest roasted florets for garnish, if you like.
Step 3: Sauté the aromatics and thyme
While the vegetables roast, place a large soup pot or Dutch oven over medium heat. Add 1 tablespoon of olive oil. Once shimmering, add the chopped onion and celery (if using), along with a small pinch of salt. Cook, stirring occasionally, for 5–7 minutes until the vegetables are softened, translucent, and starting to turn lightly golden at the edges.
Stir in the chopped fresh thyme (or dried thyme) and cook for 30–60 seconds more, just until fragrant. If using a bay leaf, add it now.
Step 4: Add roasted vegetables, beans, and broth
When the roasted garlic is cool enough to handle, unwrap the foil and squeeze the soft cloves out of their skins directly into the pot. Add the roasted cauliflower (except any florets you are saving for garnish) to the pot.
Stir in the drained white beans and pour in 4 cups (960 ml) of vegetable broth. Add 1 teaspoon of fine sea salt and 1/2 teaspoon of black pepper to start. Bring the mixture to a gentle boil over medium-high heat, then reduce to a simmer. Let it simmer uncovered for 10–15 minutes to allow the flavors to meld and the beans to soften further.
Step 5: Blend the soup until perfectly smooth
Turn off the heat and remove the bay leaf, if you used one. For the safest blending, let the soup cool for about 5 minutes. Then, blend in one of two ways:
Immersion blender: Blend the soup directly in the pot, moving the blender around until the texture is completely smooth and velvety.
Countertop blender: Carefully ladle the soup into the blender, filling it only halfway to avoid steam buildup. Vent the lid slightly and cover with a towel. Blend until very smooth, then pour into a clean pot. Repeat with remaining soup.
If the soup seems too thick, add a splash more broth until it reaches your desired consistency.
Step 6: Finish with lemon and olive oil, then season to taste
Return the blended soup to low heat if needed. Stir in 1–2 teaspoons of fresh lemon juice (start with 1 teaspoon and add more if you like a brighter flavor) and the remaining 1 tablespoon of olive oil for extra richness and sheen.
Taste and adjust seasoning with additional salt and pepper. Depending on your broth, you may want another 1/4–1/2 teaspoon of salt. The flavors should taste rounded, with a gentle garlic sweetness, a subtle thyme aroma, and a pleasant savory depth.
Step 7: Garnish and serve
Ladle the hot soup into warm bowls. Top each serving with a few reserved roasted cauliflower florets, a sprinkle of fresh thyme leaves, and a generous grind of black pepper. Finish with a light drizzle of olive oil over the surface of each bowl.
Serve immediately with crusty bread on the side for dipping. The soup will thicken slightly as it cools; you can always loosen leftovers with a splash of broth or water when reheating.
Pro Tips
- Roast until well browned, not just soft. Deep golden edges on the cauliflower and garlic are key to a rich, nutty flavor. Pale cauliflower will give you a flatter-tasting soup.
- Control the thickness with broth. Start with the 4 cups of broth, then thin gradually after blending. It is easier to loosen a thick soup than to fix one that is too thin.
- Blend thoroughly for a silky texture. White beans can leave tiny flecks if under-blended; take an extra minute to blend until completely smooth and creamy.
- Season in layers. Lightly salt the roasting cauliflower, the sautéing aromatics, and then adjust again at the end. Layered seasoning gives you better flavor than adding all the salt at once.
- Make it elegant with garnish. A simple swirl of olive oil, a few roasted florets, and fresh thyme transform this humble soup into something dinner-party worthy.
Variations
- Cream-enriched version: For an extra-luxurious soup, stir in 1/4–1/3 cup heavy cream or full-fat coconut milk at the end of cooking. Warm gently but do not boil after adding.
- Smoky paprika twist: Add 1/2 teaspoon smoked paprika to the onions and celery as they sauté, and finish the bowls with a light dusting of smoked paprika over the top.
- Cheesy thyme-Parmesan: Stir in 1/2 cup finely grated Parmesan cheese after blending, until melted and smooth. Taste and adjust salt, as Parmesan is salty.
Storage & Make-Ahead
Allow the soup to cool to room temperature before storing. Transfer to airtight containers and refrigerate for up to 4 days. The soup will thicken as it sits; when reheating on the stovetop over low to medium heat, whisk in a little extra broth or water until it reaches your desired consistency.
For longer storage, freeze in freezer-safe containers or bags (leaving some headspace for expansion) for up to 2–3 months. Thaw overnight in the refrigerator, then reheat gently on the stovetop, stirring often. Avoid rapid boiling during reheating to preserve the smooth, creamy texture.
Nutrition (per serving)
Approximate values for one of four servings (without optional cream or cheese): about 220 calories, 8–9 g protein, 28 g carbohydrates, 8–10 g fat, 7 g fiber, and 550–650 mg sodium (depending on broth and added salt). These numbers are estimates and will vary with specific brands and any variations you use.

