Love this? Pin it for later!
Why This Recipe Works
- Double-layer cauliflower: Roasting half the florets brings caramelized depth, while simmering the rest keeps the soup bright and fresh.
- Potato, not cream, thickens: A single Yukon lends body without heaviness—great for dairy-free diners.
- Quick crispy shallots: Fried in six minutes while the soup simmers, they add restaurant-level crunch.
- Blender flexibility: Works in a high-speed blender, immersion wand, or even a food processor—no fancy gear required.
- One hour start-to-finish: Weeknight friendly yet elegant enough for company.
- Freezer hero: Tastes even better reheated; make a double batch and freeze flat in zip bags.
Ingredients You'll Need
A head of cauliflower is like a blank canvas: it happily absorbs whatever flavors you surround it with. Start with a firm, heavy head that has tight, creamy florets and no dark spots. If the leaves are still attached, even better—they’re edible and add sweetness to your stock. You’ll use the whole head here, stems included, so there’s zero waste.
Cauliflower: 1 large head (about 2 ½ lb / 1.2 kg). Look for pale, compact curds. A few tiny brown freckles are fine; large black patches mean it’s past prime. Purple or orange varieties work too—they tint the soup a delicate blush, but the flavor remains the same.
Yukon Gold potato: 1 medium (5 oz / 150 g). Its lower starch content breaks down quickly, giving the soup a velvety texture without gumminess. Russets can taste gluey; red potatoes are too waxy.
Shallots: 3 medium. You’ll use two in the soup for gentle sweetness and fry the third for crunchy garnish. Buy firm, dry shallots with no green sprouting. If you can only find large banana shallots, one will suffice.
Garlic: 3 cloves, smashed. Fresh garlic perfumes the oil and disappears into the background, so the soup doesn’t shout “garlic!”
Extra-virgin olive oil: 3 Tbsp for roasting + 1 Tbsp for sautéing. A grassy, peppery oil adds complexity; save the mild stuff for another day.
Unsalted butter: 2 Tbsp. Butter rounds the edges and marries beautifully with cauliflower’s nuttiness. Swap with more olive oil to keep it vegan.
Vegetable or chicken stock: 4 cups (960 ml). Use low-sodium so you control the salt. Homemade stock is lovely, but a quality boxed version is fine.
Fresh thyme: 2 sprigs. The woodsy notes accent cauliflower without stealing the show. No fresh? Use ½ tsp dried thyme or swap in a bay leaf.
Whole milk: 1 cup (240 ml) stirred in at the end for silkiness. Substitute with unsweetened oat or cashew milk for a vegan version; both have a neutral flavor and natural sugars that mimic dairy.
Salt & white pepper: Kosher salt draws out moisture; a pinch of white pepper adds subtle heat without black specks.
Optional finishing oil: A drizzle of lemon-infused olive oil or chili oil is gorgeous for serving.
How to Make Creamy Cauliflower Soup with Crispy Fried Shallots
Heat the oven & prep the cauliflower
Preheat to 425 °F (220 °C). Remove the leaves and cut the cauliflower in half from top to bottom. Slice one half into ½-inch (1 cm) “steaks,” keeping the florets intact; this maximizes caramelized surface area. Break the remaining half into thumb-sized florets. Toss the steaks and florets with 2 Tbsp olive oil, ½ tsp kosher salt, and a few grinds of white pepper on a parchment-lined sheet pan. Roast 20 minutes, flip once, then continue roasting 10–15 minutes until deeply golden and crisp at the edges. Meanwhile…
Start the soup base
Warm a heavy 4-quart (4 L) pot over medium heat. Add 1 Tbsp olive oil and 2 Tbsp butter. When the butter foams, add two minced shallots and cook 4 minutes until translucent, scraping up the golden bits. Stir in the smashed garlic for 30 seconds until fragrant but not browned.
Simmer the vegetables
Peel and dice the potato into ½-inch cubes. Add to the pot along with the raw cauliflower florets (not the roasted ones—those are for later). Pour in 4 cups stock; add thyme sprigs and 1 tsp salt. Bring to a boil, reduce to a lively simmer, cover partially, and cook 15 minutes until the largest floret is knife-tender.
Blend until silk-smooth
Fish out the thyme stems (the leaves will have fallen off). Using an immersion blender, puree directly in the pot until absolutely smooth, 2 full minutes—longer than you think—to eliminate tiny fibrous bits. If using a countertop blender, vent the lid and blend in batches. Return soup to low heat.
Enrich & season
Stir in 1 cup milk and ½ tsp white pepper. Taste; add more salt if needed—the soup should sing, not whisper. Keep warm over the lowest flame.
Fry the shallots
Peel the remaining shallot and slice paper-thin (a mandoline helps). Heat ⅓ cup neutral oil in a small skillet over medium-high until shimmering. Test with one ring—it should sizzle on contact. Fry shallots in two batches, stirring, 2–3 minutes until mahogany. Transfer to paper towel, season with a pinch of salt. They crisp as they cool.
Combine & serve
Ladle the velvety soup into warm bowls. Float a few roasted cauliflower florets on top, scatter a frizzy nest of crispy shallots, and finish with a thread of good olive oil or a squeeze of lemon. Serve immediately with crusty sourdough for dunking.
Expert Tips
Don’t skip the chill
If you have time, let the roasted cauliflower cool 5 minutes before blending; the slight chill tightens the starches and yields an even creamier mouthfeel.
Salt in stages
Season the roasting cauliflower, the simmering liquid, and the finished soup. Layering salt amplifies flavor without over-salting.
Hot = fast blend
Steam expands in the blender; fill only halfway and start on low. Place a folded towel over the lid to prevent hot splatter.
Brighten at the end
A squeeze of citrus or a splash of apple-cider vinegar wakes up all the cozy flavors just before serving.
Double the shallots
They shrink and snackers steal them. Fry extra and store airtight; they keep 3 days (if they last that long).
Make it a sleeper hit
Puree a handful of white beans with the soup for added protein and an even silkier texture.
Variations to Try
- Smoky Cauliflower & Gouda: Stir in ½ cup shredded smoked gouda after blending and add a pinch of smoked paprika.
- Green Curry Twist: Replace thyme with 1 Tbsp Thai green curry paste and finish with coconut milk instead of dairy.
- Roasted Garlic & Herb: Roast an entire head of garlic alongside the cauliflower; squeeze the cloves into the pot before blending.
- Pumpkin Swirl: Sub in 1 cup roasted pumpkin puree for part of the milk for autumn color and subtle sweetness.
- Spicy Cajun: Add ½ tsp cayenne and 1 tsp Cajun seasoning; top with fried okra coins instead of shallots.
Storage Tips
Refrigerate
Cool completely, transfer to airtight containers, and refrigerate up to 4 days. Reheat gently; do not boil or the milk may separate.
Freeze
Omit the milk and freeze soup base up to 3 months. Thaw overnight, whisk in milk while reheating over low heat.
Make-ahead
Roast the cauliflower and fry the shallots up to 2 days ahead; store separately at room temp in airtight tins. Warm soup and assemble just before serving.
Frequently Asked Questions
Creamy Cauliflower Soup with Crispy Fried Shallots
Ingredients
Instructions
- Roast half the cauliflower: Preheat oven to 425 °F. Slice half the cauliflower into ½-inch steaks, toss with 2 Tbsp olive oil, salt, and pepper. Roast 25–30 min until browned.
- Sauté aromatics: In a pot melt butter with remaining oil. Cook 2 minced shallots 4 min, add garlic 30 sec.
- Simmer: Add diced potato, raw cauliflower florets, stock, thyme, and 1 tsp salt. Simmer 15 min until tender.
- Blend: Remove thyme stems; puree until silky. Return to low heat; stir in milk and white pepper.
- Fry shallots: Slice remaining shallot thinly. Fry in hot oil 2–3 min until crisp; drain on paper towel.
- Serve: Ladle soup into bowls, top with roasted florets and crispy shallots. Drizzle with olive oil if desired.
Recipe Notes
For ultra-smooth texture, strain the blended soup through a fine mesh sieve. Crispy shallots keep 3 days in an airtight container; re-crisp 2 min in a 350 °F oven.
