Bean Shakshuka Recipe: Spiced Tomato Poached Eggs With Fava Magic

Breakfast & Brunch

Bean Shakshuka Recipe: Spiced Tomato Poached Eggs With Fava Magic

This bean shakshuka recipe transforms a simple breakfast into a restaurant-worthy experience with its rich tomato-pepper sauce, creamy poached eggs, and hearty fava beans. The slow-simmered sauce develops deep, smoky flavors that perfectly complement the tender eggs and earthy beans, creating a dish that's both comforting and elegant.

What makes this version special is the addition of fava beans, which add a satisfying texture and protein boost without overpowering the dish's natural balance.

The beauty of this recipe lies in its simplicity—just a few key ingredients come together in one pot, yet the result is anything but basic. You'll start by sautéing onions and peppers until soft, then building layers of flavor with garlic, spices, and canned tomatoes.

The beans and eggs are added at the perfect moment to ensure they cook just enough to be tender but still hold their shape. The dish is finished with fresh parsley, adding a bright contrast to the warm, spiced sauce.

What you'll end up with is a dish that's vegetarian-friendly and adaptable to vegan diets by omitting the eggs or using tofu instead.

The combination of textures—creamy eggs, tender beans, and the silky tomato sauce—makes every bite satisfying, while the crusty bread on the side soaks up every last drop of flavor. This is the kind of breakfast that feels like a celebration, even on a weekday morning.

Perfect for brunch gatherings or a cozy weekend meal, this shakshuka is as nourishing as it is delicious. The spices and tomatoes create a warm, inviting aroma that fills your kitchen, while the dish itself is hearty enough to keep you full for hours.

Whether you're a seasoned cook or just starting out, this recipe delivers foolproof results that will have you reaching for the eggs every time.

👨‍🍳
Difficulty
Medium
🌿
Diet
Vegetarian
🔥
Calories
Med Cal

Ingredients for bean shakshuka

Pantry staples plus a few fresh finds create this restaurant-style bean shakshuka.

Ingredient Amount Notes
Extra-Virgin Olive Oil 🫒 ½ cup High quality, fruity
Yellow Onion 🧅 1 whole Medium size, diced
Red Bell Pepper 🌶️ 1 whole Medium size, diced
Canned Crushed Tomatoes 🍅 28 oz San Marzano preferred
Garlic Cloves 🧄 4 cloves Fresh, minced
Ground Cumin 🌿 1 tbsp Toasted for depth
Smoked Paprika 🌶️ 1 tbsp Sweet or hot
Ground Coriander 🌿 1 tsp Freshly ground preferred
Salt 🧂 1 tsp Diamond Crystal kosher
Black Pepper 🌶️ ½ tsp Freshly ground
Canned Fava Beans 🌱 15 oz Drained, not mashed
Large Eggs 🥚 4 whole Fresh, room temperature
Fresh Parsley 🌿 ¼ cup Chopped, for garnish
Crusty Bread 🍞 8 slices Baguette or sourdough
Feta Cheese 🧀 ½ cup Crumbled, optional

The tomatoes are the heart of this dish—San Marzano is ideal for its sweetness, but any good-quality crushed tomatoes work. Trader Joe's or Whole Foods have solid options, but the store brand at most supermarkets is fine too. Fava beans? Canned is easiest (just drain them), but frozen works if you've got it. The feta adds that salty tang—skip it for vegan, or use vegan feta. Fresh parsley is a must for that bright finish, but dried oregano at half the amount will do in a pinch. For the bread, crusty sourdough or baguette soaks up the sauce best—look for day-old slices if you're prepping ahead.

No fava beans? White beans or chickpeas work in a bind (just rinse well). Short on tomatoes? Tomato paste plus water gets you close—just reduce the water later. The eggs are non-negotiable for that creamy texture, but for vegan shakshuka, silken tofu cubes mimic the effect beautifully. The spices? Toast the cumin seeds whole for 30 seconds in a dry pan before grinding for deeper flavor (worth it!). If you've got harissa paste, a teaspoon adds instant North African flair. And yes, you can make this ahead—the sauce actually tastes better the next day.

The sauce keeps for 4 days in the fridge—just reheat gently and add fresh eggs when serving. Fava beans? They hold up for 3 days in their canned liquid, but drain and rinse before using. The bread? Toast it fresh to keep it crispy. For meal prep, assemble everything except the eggs, store in a baking dish, then bake with eggs when ready—20 minutes at 350°F does the trick. Leftovers? Package the sauce separately and reheat with fresh eggs for breakfast the next morning.

❤️

Why You'll Love This Recipe

  • One-Pan Magic: I swear by this—just chop an onion, dice a pepper, and dump in the beans and tomatoes. No pots, no pans, no stress. The oil and garlic caramelize right in the same dish where you’ll serve it.
  • Umami Bomb: That crushed tomato base? Rich, tangy, and deep. Add the beans and let them soak up the sauce—suddenly, you’ve got a dish that’s hearty enough for dinner but still feels light. The garlic? Oh, it’s there, but in the best way.
  • Weeknight to Weekend: Make it for a lazy Tuesday night or a brunch spread—it works both times. My roommates and I keep a jar of crushed tomatoes in the pantry just for this. Honestly, it’s the kind of dish that makes you sound fancy without trying.
  • Budget-Friendly Staples: Canned tomatoes, onions, and beans? Check. Olive oil and garlic? Always on hand. It’s the kind of meal that stretches your grocery budget without sacrificing flavor. Leftovers? Even better—reheat and eat again, or toss into a wrap the next day.

Step-by-Step instructions for bean shakshuka with fava beans

Here's how to create a rich, spiced tomato base that perfectly poaches eggs with fava beans for extra depth.

1

Sauté the Aromatics Until Fragrant

Heat the 0.5 cup extra-virgin olive oil in a large, deep skillet over medium heat. Add the 1 whole diced yellow onion and 1 whole diced red bell pepper, cooking for 5-6 minutes until the onions become translucent and the peppers soften. You'll know they're ready when the edges start to turn slightly golden—this builds the flavor foundation.

Next, add the 4 minced garlic cloves and cook for 30 seconds until fragrant. Be careful not to let the garlic burn—it should smell sweet and inviting, not bitter. This step is crucial because the aromatics form the backbone of your shakshuka's flavor profile. If you notice any pieces sticking, stir them gently until they release from the pan.

2

Build the Spiced Tomato Base

Reduce the heat to medium-low and stir in the 1 tbsp ground cumin, 1 tbsp smoked paprika, 1 tsp ground coriander, 1 tsp salt, and 0.5 tsp black pepper. Let the spices toast for 1 minute until you can smell their deep, earthy aromas filling your kitchen—this activates their flavors.

Pour in the 28 oz canned crushed tomatoes and stir well to combine. Bring the mixture to a gentle simmer, then reduce heat to low and let it cook uncovered for 10-12 minutes, stirring occasionally. You want the sauce to thicken slightly but still remain saucy—it should coat the back of a spoon but not be gluey. This slow cooking allows the spices to meld with the tomatoes, creating that signature shakshuka depth.

3

Add Fava Beans and Simmer

Gently stir in the 15 oz drained fava beans, breaking them up slightly with a wooden spoon. The beans will add a creamy texture and nutty flavor that pairs perfectly with the tomatoes. Let the mixture simmer together for 5 minutes, stirring occasionally, until the beans are heated through and the sauce has thickened slightly.

Here's where the magic happens: taste the sauce and adjust seasoning if needed. You might need a pinch more salt or a sprinkle of smoked paprika to deepen the flavor. The beans should be tender but still hold their shape—if they start to break down too much, remove the pan from heat immediately. This step ensures your shakshuka has that perfect balance of textures and flavors.

4

Poach the Eggs to Perfection

Make four small wells in the sauce using the back of a spoon, spacing them evenly. Crack the 4 large eggs gently into each well—room temperature eggs will help them cook more evenly. Return the pan to low heat and cover with a lid or aluminum foil.

Poach the eggs for 4-5 minutes until the whites are set but the yolks remain runny. The sauce should gently bubble around the edges of the eggs. You'll know they're done when the whites are opaque but the yolks still have that beautiful custard-like center. This gentle cooking method ensures your eggs stay rich and creamy rather than rubbery.

5

Finish and Serve

Remove the pan from heat and let it sit for 2 minutes to allow the eggs to finish setting slightly. Sprinkle the 0.25 cup chopped fresh parsley and 0.5 cup crumbled feta cheese over the top, then serve immediately with the 8 slices crusty bread on the side.

Each bite should deliver a perfect balance of creamy eggs, rich tomato sauce, and nutty fava beans. The crusty bread soaks up any extra sauce, making this a complete meal. For best results, serve while the eggs are still warm—this dish tastes even better the next day, but the eggs are at their most luxurious fresh out of the oven.

👨‍🍳

Pro Tips For Making Bean Shakshuka

  • Sauté Onions Slowly: I used to rush the onions and end up with bitter, charred bits instead of sweet, jammy flavor. For shakshuka, cook them on medium-low heat for 8-10 minutes until deeply golden—just until they start to caramelize but haven’t turned brown. This builds the base flavor without burning, and it pairs better with the tomatoes later.
  • Roast Bell Pepper First: Skip chopping the red bell pepper raw—roast it whole under the broiler for 8-10 minutes until blistered and charred. Peel off the skin, then chop it. The smoky depth from roasting cuts through the acidity of the crushed tomatoes and adds a complexity you won’t get from raw peppers.
  • Stir the Tomatoes Early: Don’t dump the crushed tomatoes in all at once and walk away. Stir them into the onion-pepper mix immediately and let them simmer uncovered for 5 minutes. This prevents a skin from forming on top (which happens fast with canned tomatoes) and ensures even cooking. I learned this after scraping off a rubbery layer mid-cook—annoying.
  • Use Garlic Sparingly: Crush the garlic cloves with the flat side of your knife (not minced) and add them in the last 2 minutes of cooking. Too much or too early, and the flavor turns bitter. A single clove, lightly toasted, is enough—shakshuka’s star is the tomato-pepper base, not the garlic. Trust me, your taste buds will agree.

Make-ahead tips for this dish

Sauce Prep Ahead

The tomato-pepper sauce is the star of this dish and actually tastes better the next day! After Step 2 in the instructions, let the sauce cool completely, then transfer it to an airtight container and refrigerate for up to 4 days.

When ready to serve, reheat it gently on the stove over low heat for 5-7 minutes, stirring occasionally. This method lets the flavors deepen and intensifies the smoky notes from the spices. 💫

Bean Prep Shortcut

Save time by prepping your beans the night before. Drain and rinse the 15 oz fava beans, then store them in a small container in the fridge. When you're ready to cook, simply stir them into the sauce during Step 3—no extra prep needed.

For even more efficiency, you can lightly mash half the beans with a fork before adding them to create a thicker, creamier texture. 🌱

Egg Assembly Hack

If you're making this for a brunch gathering, assemble everything except the eggs up to Step 3, then store the sauce and beans in a baking dish in the fridge. When guests arrive, simply reheat the sauce on the stove, make wells for the eggs, and poach them fresh.

This keeps the eggs perfectly runny and warm—no sad rubbery yolks here! 🥚

Freezer-Friendly Components

For ultimate meal prep, freeze the sauce and beans separately in quart-sized freezer bags. The sauce will keep for 3 months, while the beans hold up for 2 months when frozen. When ready to cook, thaw overnight in the fridge, then proceed with Step 4.

The eggs must be added fresh, but you can reheat the sauce and beans ahead of time for a quick assembly. ❄️

Bread Prep Tip

Toast your 8 slices crusty bread the day before and store them in an airtight container at room temperature. This keeps them crispy for up to 2 days. For extra flavor, lightly brush the toasted bread with olive oil and sprinkle with flaky sea salt before serving.

Warm the bread in a toaster or oven for 2-3 minutes at 350°F right before serving. 🍞

Garnish Storage

Chop your 0.25 cup fresh parsley and store it in a small container with a damp paper towel in the fridge for up to 3 days. For the feta, crumble it ahead of time and store it in the fridge—it keeps well for 5 days.

When ready to serve, simply sprinkle both on top of the hot shakshuka for maximum freshness. 🌿

Nutrition facts

Servings 4
Amount Per Serving
Calories 420kcal
% Daily Value *
Total Fat 24g31%
Saturated Fat 6g30%
Cholesterol 180mg60%
Sodium 950mg41%
Total Carbohydrate 36g12%
Dietary Fiber 8g29%
Sugars 10g
Protein 22g44%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I make this bean shakshuka vegan?

Skip the eggs and replace them with 4 cubes of silken tofu (about 1/2 cup) or 4 firm tofu patties made from blended tofu, nutritional yeast, and a pinch of turmeric for color. Add them to the sauce during the final 5 minutes of cooking on low heat so they warm through without falling apart. The dish will still be hearty and flavorful!

2

What if I don't have fava beans?

No problem! Use 15 oz white beans or chickpeas instead—they'll add a similar creamy texture. Just rinse them well first to remove excess starch. For a different flavor profile, try butter beans or even lentils (cooked until tender). The key is to use about 1.5 cups total of drained beans to match the recipe's richness.

3

How do I prevent the eggs from breaking while poaching?

Crack the eggs directly into the sauce wells (don't transfer them first) and use room temperature eggs for even cooking. Keep the heat on low and cover the pan with a lid or foil to create a gentle steam environment. If the sauce bubbles too vigorously, reduce the heat immediately—this helps the eggs set gently without cracking.

4

Can I make this shakshuka in a slow cooker?

Yes! Sauté the onions, peppers, and garlic first in a skillet, then transfer everything to your slow cooker. Cook on low for 3-4 hours until the sauce thickens. Stir in the beans during the last 30 minutes, then make wells and poach the eggs in the slow cooker on high for 8-10 minutes (cover with a lid). The slow cooker method works best for larger batches—just double the ingredients.

5

Why does the sauce taste bland after reheating?

Reheat the sauce gently over low heat and add a splash of water or broth if it's too thick. For extra depth, stir in 1/2 teaspoon of smoked paprika or a pinch of cayenne pepper while reheating. Fresh herbs like parsley or cilantro added at the end also brighten flavors. The sauce should never be reheated on high heat—this burns the spices and makes them taste flat.

★★★★★4.5(2 reviews)
Categories Breakfast & Brunch