Soups & Stews
This Bulgarian bean soup recipe brings the hearty, smoky flavors of Eastern Europe to your kitchen with just a few simple ingredients. The secret lies in smoked paprika and garlic, simmered low and slow until the beans soften and the broth deepens into a rich, aromatic base.
I developed this version after discovering how traditional Bulgarian home cooks transform humble ingredients into deeply satisfying meals—no fancy techniques required, just patience and attention to flavor-building.
The beauty of this soup is in its simplicity: dried beans (or canned for convenience), fresh tomatoes, carrots, and onions create a rustic foundation, while smoked paprika and garlic infuse warmth and depth.
Unlike many quick soups, this one rewards you for letting it simmer—at least 1.5 hours—until the flavors meld into something truly special. The result is a vegetarian-friendly dish that’s hearty enough for a main course but flexible enough to stretch into leftovers for days.
What makes this recipe stand out is the balance of earthy and smoky notes, achieved through proper browning of the aromatics and careful layering of spices. The soup finishes with a bright garnish of fresh parsley and a drizzle of olive oil, cutting through the richness while adding freshness.
Serve it with crusty bread to soak up every last drop of that flavorful broth—it’s the kind of meal that feels both comforting and sophisticated.
Whether you're preparing for a cozy family dinner or meal prepping for the week, this Bulgarian bean soup delivers restaurant-quality results with minimal effort. The technique is straightforward, but the flavors develop beautifully over time, making it perfect for those who appreciate dishes that taste even better the next day.
Let’s get cooking!
Ingredients for bulgarian bean soup
Simple ingredients transform into a deeply satisfying Bulgarian bean soup tradition.
| Ingredient | Amount | Notes |
|---|---|---|
| Dried White Beans 🌾 | 2 cups | Soaked overnight or quick-soaked |
| Yellow Onion 🧅 | 1 whole | Medium size, finely chopped |
| Carrots 🥕 | 3 medium | Peeled and sliced into rounds |
| Fresh Tomatoes 🍅 | 2 medium | Ripe, diced or crushed by hand |
| Garlic Cloves 🧄 | 4 cloves | Minced or finely chopped |
| Smoked Paprika 🌶️ | 2 tbsp | High-quality for authentic flavor |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh thyme leaves |
| Bay Leaves 🍃 | 2 whole | Removed before serving |
| Vegetable Broth 💧 | 6 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For sautéing aromatics |
| Fresh Parsley 🌿 | ¼ cup | Chopped for garnish |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The smoked paprika is non-negotiable here—Penzeys or Hungarian brands deliver the best flavor. Look for vibrant, deep-colored jars at specialty stores or the international aisle at Whole Foods. Fresh tomatoes should be firm with a sweet aroma; heirloom varieties add extra depth. For the beans, dried is ideal, but cannellini or great northern work perfectly. If using dried, soak them overnight or do a quick soak in boiling water for 2 hours. The onions and carrots should be fresh—no wilted or bruised produce—as they form the soup's aromatic base.
No smoked paprika? Substitute with 1 tbsp regular paprika plus 1/2 tsp liquid smoke. Fresh tomatoes missing? Canned San Marzano tomatoes work beautifully. For a quicker version, use 1 can of beans (15 oz, drained) plus 1 cup extra broth. The thyme can be swapped for 1 tsp dried oregano if unavailable. If you prefer a creamier texture, stir in 2 tbsp tomato paste at the end. The broth matters—low-sodium versions prevent over-salting, but homemade vegetable broth is best.
This soup tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. For meal prep, double the batch—it reheats beautifully. The parsley garnish should be added fresh just before serving to preserve its vibrant color. If you have leftovers, the broth freezes well separately for future use in other dishes.
Why You'll Love This Recipe
- No-Soaking Needed: I’ll admit, I used to dread the long soak for dried beans—until I realized this soup only needs overnight hydration. Toss them in water with a pinch of salt, and by morning, they’re ready. That’s actual convenience.
- Garlic-Tomato Magic: The moment those roasted garlic cloves and fresh tomatoes hit the pot, the kitchen smells like a Bulgarian village. Sweet, tangy, and just a little smoky—it’s the kind of flavor that makes you pause mid-stir.
- Potluck Hero: Between us, this soup is my go-to for gatherings. It’s hearty enough to feed a crowd but light enough to bring in a thermos. Plus, the beans thicken as it sits, so it only gets better with time.
- Budget-Friendly Powerhouse: A pound of dried beans costs pennies, and the rest of the ingredients? Basic pantry staples. I’ve made this for under $2 per serving—without sacrificing taste. Leftovers? They’re my secret weapon for lazy Wednesdays.
Step-by-step instructions for Bulgarian bean soup
This traditional recipe delivers deep smoky flavors and hearty texture through precise timing and layering.
Prepare the Beans for Maximum Texture
Begin by sorting through the 2 cups dried white beans, discarding any shriveled or damaged pieces. For best results, I recommend soaking them overnight in plenty of cold water (at least 8 cups). This overnight soak ensures even cooking and prevents the soup from becoming gummy.
If short on time, you can quick-soak them: Cover the beans with 4 cups fresh water, bring to a boil for 2 minutes, then let them sit off heat for 1 hour. Drain and rinse before using. The beans should be tender but still hold their shape—this prevents them from disintegrating during the long simmer ahead.
Build Flavor with Aromatics and Spices
Heat the 2 tablespoons extra-virgin olive oil in a large pot over medium heat. Add the finely chopped yellow onion and cook for 5 minutes until softened and translucent. This foundational step develops the soup's sweet, caramelized base that carries through the entire dish.
Add the 3 medium carrots (sliced into rounds) and cook for another 5 minutes, stirring occasionally. Then incorporate the 4 minced garlic cloves, 2 tablespoons smoked paprika, 1 teaspoon dried thyme, and 1.5 teaspoons salt. Stir constantly for 1 minute until the spices are fragrant and the garlic is golden—not browned. This aromatic blend forms the flavor backbone of the soup.
Simmer the Vegetable Base
Pour in the 6 cups vegetable broth and bring to a gentle boil. Add the drained beans, 2 whole bay leaves, and 0.5 teaspoon black pepper. Reduce heat to low and let it simmer uncovered for 1 hour. Stir occasionally to prevent sticking—this long simmer allows the beans to absorb flavor while maintaining their texture.
After 45 minutes, add the 2 medium fresh tomatoes (diced or crushed by hand). The acidity from the tomatoes brightens the rich bean flavors. Continue simmering until the beans are tender but not mushy—they should hold their shape when pierced with a fork. The soup should have a thick, stew-like consistency at this stage.
Finish with Fresh Herbs and Seasoning
Remove the 2 bay leaves and adjust seasoning with additional salt if needed. The soup should be well-seasoned but not salty. Stir in the 0.25 cup chopped fresh parsley just before serving—this adds a bright, fresh contrast to the smoky, earthy flavors developed during cooking.
Let the soup sit off heat for 5 minutes before serving. This resting period allows flavors to meld completely. Serve hot with crusty bread to soak up every last drop of that smoky, garlicky bean broth. The finished soup should have a velvety texture with distinct bean pieces and a deep, aromatic broth that coats the back of your throat.
Pro Tips For Making Bulgarian Bean Soup
- SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak leaves you with a soup that tastes like it’s still fighting for hydration. Use 4 cups water per cup of beans, cover, and let them sit 12+ hours (yes, even if you’re impatient like me). This cuts cooking time by nearly half and keeps the texture creamy, not mushy.
- CHAR THE ONIONS: Low heat makes this soup taste bland. Crank the burner to medium-high and let those onions caramelize for 8-10 minutes until they’re deep golden, almost sticky. The deeper the color, the richer the flavor—skip this, and your soup will taste like it’s missing something.
- PEEL TOMATOES FAST: Fresh tomatoes add brightness, but peeling them saves time and avoids bitterness. Score an X at the bottom, dip in boiling water for 30 seconds, then shock in ice water. The skins slide off like magic—no tedious hand-peeling, and your soup stays silky smooth.
- SALT THE BEANS MID-COOK: Adding salt only at the end makes the beans tough. Toss them in with a teaspoon of salt during the initial simmer, then another pinch when the carrots and tomatoes join. This keeps them tender without turning to mush—trust me, your future self will notice the difference.
Dietary considerations for these flavors
Vegetarian-Friendly Base
This recipe is naturally vegetarian and packed with plant-based protein from the 2 cups dried white beans, making it ideal for meat-free diets. The smoked paprika and garlic provide deep, savory flavors without relying on animal products.
For extra heartiness, I often add 1 cup cooked quinoa to the finished soup—it absorbs the broth beautifully while adding a nutty texture. 🌱
Gluten-Free Adaptations
All ingredients in this recipe are inherently gluten-free, but always double-check your vegetable broth label to ensure no hidden additives. For extra flavor depth, I recommend using a homemade vegetable broth made from scratch—simmer carrots, celery, onions, and garlic with water for a naturally gluten-free base.
The smoked paprika and thyme remain safe staples in gluten-free cooking. ✨
Low-Sodium Considerations
This soup is designed to be low-sodium when using low-sodium vegetable broth, but you can further reduce salt by omitting the 1.5 teaspoons salt in the recipe and relying on black pepper and smoked paprika for flavor.
For a salt-free version, simply skip the salt entirely and taste as you go—add lemon juice or apple cider vinegar (just ½ teaspoon) to brighten flavors naturally. 💧
Vegan Substitutions
To make this soup vegan, ensure your vegetable broth is plant-based (check for chicken or fish broth additives). The extra-virgin olive oil and smoked paprika are already vegan-friendly, but if you're concerned about honey in some smoked paprika brands, opt for Penzeys Smoked Paprika—it’s certified vegan.
For extra richness, stir in 2 tablespoons nutritional yeast at the end for a cheesy, umami kick. 🌿
Allergen-Friendly Adjustments
This recipe is naturally free of common allergens like dairy, eggs, and nuts, but always verify your smoked paprika for potential cross-contamination if allergies are severe.
For those avoiding FODMAPs, reduce the garlic to 2 cloves and omit the onions—substitute with 1 cup finely diced zucchini for a milder flavor. The carrots and tomatoes remain safe and add natural sweetness. 🌶️
Meal Prep and Storage
This soup reheats beautifully, making it perfect for meal prep. Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. For reheating, warm on the stovetop over low heat with a splash of water or broth to restore moisture.
The flavors actually improve overnight as the spices meld—just add a pinch of salt or black pepper before serving. ❄️
Nutrition facts
Frequently asked questions
Can I use canned beans instead of dried?
Yes, you can absolutely use canned beans for a quicker version! Simply drain and rinse 2 (15 oz) cans of white beans (like cannellini or great northern) and add them directly to the pot after the vegetables have simmered for 30 minutes. The soup will be ready in about 45 minutes total instead of the full 1.5 hours with dried beans.
How do I make this soup spicier?
For extra heat, add 1/2 teaspoon cayenne pepper or 1 teaspoon hot paprika when sautéing the aromatics. You can also stir in 1/2 cup diced jalapeños or 1 tablespoon red pepper flakes at the end. If you love smoky heat, try adding 1/2 teaspoon chipotle powder along with the smoked paprika.
What's the secret to the best texture?
The key is low-and-slow cooking and proper bean preparation. Always soak dried beans overnight (or quick-soak) to prevent gummy soup. Simmer uncovered on low heat for the full 1.5 hours—this allows excess moisture to evaporate while keeping the beans tender. Stir occasionally to prevent sticking, and never rush the cooking time.
Can I make this soup in an Instant Pot?
Yes! Sauté the onions, carrots, garlic, and spices as directed, then add the remaining ingredients. Use the High Pressure setting for 20 minutes after the beans come to pressure. Quick-release the pressure, then let the soup sit for 10 minutes before serving. Adjust seasoning as needed—the Instant Pot method can sometimes concentrate flavors more intensely.
Why does my soup taste bland?
Most likely, you need more time for the flavors to develop. This soup tastes best after simmering for the full 1.5 hours—don't rush it! Also check your smoked paprika quality (use a high-quality brand) and ensure you're using fresh garlic and herbs. If needed, add a splash of lemon juice or apple cider vinegar at the end for brightness.
