Shakshuka is a delicious brunch, lunch, or dinner originating from the Middle East – and here, I’ve upgraded it with added white beans for a fiber and protein-packed twist on the classic one-pan dish.
This white bean shakshuka a satisfying meal that can be eaten at any time of the day, combining a rich, spiced tomato sauce with creamy white beans and perfectly poached eggs. Whether you’re making it for breakfast, brunch, or a quick dinner, this shakshuka is easy to prepare and perfect for sharing!

I love the addition of creamy white beans to this recipe, but you could also add chickpeas or even black beans for a fun twist on the recipe. For another delicious egg recipe that’s perfect for brunch or dinner, try these baked pesto eggs!
Serve your shakshuka with:
- Crusty Bread or Pita – Perfect for scooping up the sauce. My personal favorite/
- Simple Salad – A fresh cucumber and tomato salad balances the spices and richness of the dish.
- Avocado Slices – Creamy avocado complements the spices beautifully.
- Chorizo crumbles – I love this recipe with crumbled vegan chorizo cooked until crispy on top.
Plus, this white bean shakshuka comes with fresh parsley and crumbled feta – two absolute musts, in my opinion!
Ingredient Notes
The exact quantities of the ingredients are listed in the recipe card below. Here’s a quick breakdown with substitution ideas:
- Cannellini Beans – Creamy and mild, but you can swap them for chickpeas or butter beans if needed.
- Tomatoes – Use fresh tomatoes for a light flavor, or canned diced tomatoes for convenience. Be aware that if you use fresh tomatoes, you might need to add more water to help loosen the sauce.
- Seasonings – Smoked paprika, cumin, and chili powder add warmth and smokiness. Adjust the spice level by adding more chili or red pepper flakes.
- Eggs – Fresh eggs poach beautifully in the sauce. For a vegan option, skip the eggs and add tofu cubes or even plant-based sausage.
- Feta Cheese – Adds a salty, tangy finish. Substitute with goat cheese or skip it for a dairy-free version.
Variations & Substitutions
- Make it vegan: Skip the eggs and add sautéed mushrooms or tofu for protein. Use a sprinkle of nutritional yeast instead of feta.
- Add greens: Stir in spinach or kale just before adding the eggs for extra nutrients.
- Boost the heat: Increase the chili powder or add red pepper flakes to spice it up.

How To Make This Easy White Bean Shakshuka
The full recipe instructions and measurements are in the recipe card below, but here’s a quick overview:
1. Sauté the Vegetables
Heat oil in a large skillet and cook the diced onion and red pepper until softened – don’t rush this step as no one wants crunchy peppers in a shakshuka! Add your garlic and cook briefly.
2. Build the Sauce
Stir in the tomato paste and your seasonings, then add the diced tomatoes and water. Simmer until thickened – this should take about 10 minutes. If you’re using fresh tomatoes, you’ll want to add a cup (250ml) or so of water to help loosen the sauce.
3. Add the Beans
Stir in the cannellini beans and mash a few to help thicken the sauce.
4. Poach the Eggs
Make small wells in the sauce and crack in the eggs. Cover the pan and cook until the eggs are set but still slightly runny.
5. Garnish and Serve
Top with parsley, crumbled feta, and optional chili flakes for extra heat. Serve with warm bread or pita.
Top Tips / Chef’s Notes
For perfect poached eggs, over the pan while poaching to keep the heat even, and check frequently to avoid overcooking the yolks (I made this mistake many times when first cooking this recipe!).
Thicker sauce: Mash more beans or let the sauce simmer a little longer if you prefer a thicker consistency.
I would recommend using a regular pan – like a stainless steel frying pan or one like this for shakshuka, as opposed to a cast iron skillet, as the tomato sauce tends to stick and can give your shakshuka a slightly acidic taste.

Storage
Store leftovers in an airtight container for up to 3 days. Reheat gently on the stovetop, adding a splash of water if the sauce thickens too much.
Freeze the sauce without the eggs for up to 3 months. When ready to serve, reheat and add fresh eggs.
FAQs
Can I make this shakshuka ahead of time?
Yes, you can make the sauce in advance and store it in the fridge. When ready to serve, reheat the sauce and add the eggs.
Can I use canned tomatoes instead of fresh?
Absolutely! Use a 400g (14oz) can of diced tomatoes for convenience.
Is it spicy?
It has mild heat from the chili powder, but you can adjust the spice level to your preference. Add extra chili flakes if you like more heat.
What can I use instead of feta?
Goat cheese works well, or you can skip the cheese entirely for a dairy-free version.
White Bean Shakshuka
Ingredients
- 1 tbsp oil
- 1 white onion, diced
- 1 red pepper, diced
- 2 garlic cloves, minced
- 1 tbsp tomato paste
- 4 tomatoes, diced
- 1 tsp smoked paprika
- 1 tsp cumin
- 0.5 chili powder
- Salt and pepper to taste
- 250ml (1 cup) water
- 1 (400g) tin cannellini beans, rinsed and drained
- 4 eggs
- Parsley, to garnish
- Crumbled feta, to garnish
Instructions
- Heat the oil in a large skillet or pan and add the white onion and red pepper. Saute for 5-6 minutes until the vegetables begin to soften, stirring often, then add the garlic and cook for another minute.
- Add the tomato paste and seasonings, stir them into the vegetables for about a minute, then add the diced tomatoes and water.
- Season the sauce with salt and pepper, and then leave the sauce to simmer and reduce down for about 5 minutes, stirring occasionally.
- Tip in the cannellini beans, and stir them into the sauce. Crush down about ¼ of the beans to thicken the sauce, and let the beans simmer for another 5 minutes.
- Make 4 wells in the pan and crack your eggs into each. Cover the pan and leave the eggs to poach for 5-6 minutes.
- Top the shakshuka with the chopped parsley and crumbled feta. For added spice, add a sprinkle of red pepper flakes.
Notes
For perfect poached eggs, over the pan while poaching to keep the heat even, and check frequently to avoid overcooking the yolks (I made this mistake many times when first cooking this recipe!).
Thicker sauce: Mash more beans or let the sauce simmer a little longer if you prefer a thicker consistency.
I would recommend using a regular pan - like a stainless steel frying pan or one like this for shakshuka, as opposed to a cast iron skillet, as the tomato sauce tends to stick and can give your shakshuka a slightly acidic taste.
Nutrition Information:
Yield: 4 Serving Size: 1Amount Per Serving: Calories: 234Total Fat: 11gSaturated Fat: 3gTrans Fat: 0gUnsaturated Fat: 7gCholesterol: 192mgSodium: 234mgCarbohydrates: 23gFiber: 6gSugar: 7gProtein: 14g
