This cozy, creamy soup begins by sautéing onion, carrots, and celery until soft, then adding garlic, thyme, potatoes, and canned white beans. Simmer in vegetable broth until potatoes are fork-tender, purée about a third to create body while keeping chunky texture, then stir in plant milk, lemon zest and juice. Finish with chopped parsley and lemon slices for brightness.
The rain was hammering against the kitchen window so hard I could barely hear the pot bubbling on the stove, and honestly that was exactly the kind of afternoon that demanded soup. I had a bag of potatoes that needed using, two cans of white beans I kept forgetting about, and a lemon rolling around the crisper drawer like it owned the place. What came together in under an hour was a soup so bright and creamy that I stood over the stove eating it straight from the ladle before it even made it to a bowl. That lemon was no afterthought, it was the whole personality of the dish.
I made a double batch the following weekend because my neighbor stopped by, saw the pot, and casually mentioned she had not eaten all day, so I handed her a bowl and we stood in the kitchen talking until the pot was empty and the rain had stopped.
Ingredients
- 1 medium yellow onion, diced: The sweet backbone of every good soup base, dice it small so it melts into the broth rather than floating around in obvious chunks.
- 2 medium carrots, peeled and diced: They add subtle sweetness and a flash of color against all that white and cream.
- 2 celery stalks, diced: Do not skip these, they build the aromatic foundation that makes the broth taste like it simmered all day.
- 3 cloves garlic, minced: Fresh only, and mince it finer than you think you need to so it disperses evenly.
- 3 medium Yukon Gold potatoes, peeled and chopped into 1-inch cubes: Yukon Golds hold their shape but also break down just enough to thicken everything naturally.
- 2 cans white beans, drained and rinsed: Cannellini or Great Northern both work beautifully, and rinsing removes the cloudy liquid that can dull your broth.
- 4 cups low-sodium vegetable broth: Low sodium gives you control so the lemon and herbs can actually shine through.
- 1 cup unsweetened plant milk or whole milk: This is what turns a good soup into a comforting one, and unsweetened plant milk keeps it dairy free without anyone noticing.
- 2 tablespoons olive oil: A good quality one makes a real difference since it is the first flavor to hit the pot.
- 1 teaspoon dried thyme: Rub it between your palms as you drop it in to wake up the oils.
- Zest and juice of 1 large lemon: Use every bit of this, the zest brings fragrance and the juice brings life.
- 1 teaspoon salt plus more to taste: Season in layers and taste at the end rather than dumping it all upfront.
- 1/2 teaspoon black pepper: Freshly cracked if you can manage it, the preground stuff tastes flat here.
- 1/2 teaspoon crushed red pepper flakes (optional): Just enough warmth to notice but not enough to call it spicy.
- 2 tablespoons chopped fresh parsley: Added at the very end so it stays bright and grassy.
- Lemon slices for serving: A visual cue that tells everyone exactly what they are about to taste.
Instructions
- Build the base:
- Warm the olive oil in a large pot over medium heat until it shimmers, then slide in the onion, carrots, and celery with a pinch of salt. Stir occasionally for about six minutes until everything softens and your kitchen smells like the inside of a really good bakery.
- Wake up the aromatics:
- Toss in the garlic, dried thyme, and red pepper flakes if you are using them, stirring constantly for about a minute until the garlic turns golden and fragrant at the edges. This goes fast so do not walk away to check your phone.
- Simmer everything together:
- Add the potatoes and white beans, pour in the vegetable broth, and bring it all to a rolling boil before dropping the heat to a gentle simmer. Let it go uncovered for twenty minutes, just until a fork slides through the potato cubes without resistance.
- Create that creamy texture:
- Grab your immersion blender and purée roughly a third of the soup right in the pot, leaving plenty of chunks for texture. If you only have a regular blender, ladle out a few cups carefully and blend until smooth before stirring it back in.
- Finish with brightness:
- Pour in the milk, add the lemon zest and juice, and let everything simmer together for two more minutes so the flavors marry. Taste and adjust the salt and pepper until it sings.
- Serve it up:
- Ladle into wide bowls, scatter the parsley over the top, and lay a lemon slice on the rim so it looks as good as it smells. Serve immediately while it is still steaming.
There is something about a bowl of this soup that makes people slow down and sit quietly for a moment, which is rare and wonderful and exactly why I keep making it.
Making It Your Own
Throw in a handful of baby spinach during those last two minutes of simmering if you want a pop of green and an extra nutrient boost without any extra effort.
What to Serve Alongside
Crusty bread is the obvious move here, torn rather than sliced because it feels more like a meal and less like a restaurant, and a simple green salad with vinaigrette cuts through the richness perfectly.
A Few Final Thoughts
This soup stores beautifully in the fridge for up to four days and actually tastes better on day two when the flavors have settled into each other. It freezes well too, just leave out the garnishes until you are ready to serve.
- Russet or red potatoes work if that is what you have, but the texture will be slightly different so adjust your expectations accordingly.
- Check your broth and plant milk labels if cooking for someone with gluten or allergen concerns.
- Always taste before serving because a tiny pinch of salt at the end can transform the whole pot.
Keep this one in your back pocket for every gray, rainy, slightly weary afternoon that comes your way. It will take care of you.
Recipe FAQs
- → How can I make this fully vegan?
-
Use plant-based milk (like oat or almond) and ensure the vegetable broth is vegan. Skip any dairy garnishes and use olive oil for sautéing to keep it plant-based.
- → Can I use dried white beans instead of canned?
-
Yes. Soak dried cannellini or Great Northern beans overnight, then simmer separately until tender before adding to the soup. Adjust cooking time since dried beans need longer than canned.
- → Which potatoes work best?
-
Yukon Golds are ideal for a naturally creamy texture and hold shape well. Russets give a fluffier mouthfeel; red potatoes stay firmer. Choose based on desired texture.
- → How do I get a smooth yet chunky texture?
-
Purée about one-third of the pot with an immersion blender or briefly in a stand blender, then return to the soup. That creates a creamy base while leaving plenty of bean and potato pieces.
- → How should I store and reheat leftovers?
-
Cool quickly and refrigerate in an airtight container for 3–4 days. Reheat gently on the stove with a splash of broth or plant milk to loosen the texture; avoid boiling to preserve creaminess.
- → What additions work well for extra color or protein?
-
Stir in a handful of baby spinach in the last 2 minutes for color. For protein, add cooked sausage, shredded chicken, or roasted chickpeas depending on dietary preference.