This Vegetarian Shakshuka is a cozy, veggie-packed one-skillet dish with eggs gently poached in a rich, spiced tomato sauce with fresh tomatoes. Inspired by traditional North African and Middle East flavors, it’s a simple yet vibrant recipe that’s perfect for any time of day.

Shakshuka With Fresh Tomatoes!?
This Vegetarian Shakshuka is a one skillet, stove top meal and you KNOW we love that around here. Also, I love savory breakfast dishes (arguably my favorite meal of the day) and one with a ton of veggies is my kind of jam! Our Roma Tomato Pasta Sauce is always a top recipe in peak tomato season so it inspired this Shakshuka with Garden Tomatoes recipe. It’s made with basic ingredients, but delivers such bold flavors, making it one of those easy recipe staples you’ll come back to again and again.
Shakshuka is a North African and Middle Eastern dish often associated with countries like Tunisia and Israel, and popular in places like Tel Aviv as one of many Israeli classics. A traditional shakshuka recipe is made with eggs gently poached in a spiced sauce of tomatoes or red pepper sauce, simmered with garlic, olive oil, and a warming spice mix.
I’ve always made Shakshuka with canned tomatoes which is amazing for convenience, but when you have a garden haul of fresh tomatoes and peppers, they were essentially begging me to make Shakshuka with them!
While modern variations range from green shakshuka packed with leafy greens to seasonal versions featuring summer squash or sweet potato, this recipe stays true to its roots with a rich, tomato base. It’s a simple, deeply flavorful dish that highlights how a few humble ingredients can come together beautifully.
Recipe Ingredients

- Veggies – You can get creative here but I used white onion, red bell pepper, fresh tomatoes (if not in season, san marzano canned whole tomatoes peeled are a good quality option), zucchini, spinach and a bit of garlic. You could also toss in extras like green beans or green onion for a perfect addition.
- Tomato Paste – Along with our blended fresh tomatoes, this will help create a rich tomato sauce.
- Spices – Cumin, paprika, cayenne pepper (or red chili flakes / red pepper flakes for a little heat).
- Eggs – These can get cooked more or less to your preference. I like a runny yolk.
- Feta Cheese – Classic for shakshuka!
- Herbs – basil/cilantro/fresh parsley for topping.
See the recipe card below for a full list of ingredients and measurements.
Substitutions and Variations
- Get in some more fiber by adding chickpeas or lentils to the dish!
- Serve with a scoop of cottage cheese for another protein boost!
- Make it a dinner meal by adding cooked sausage or shrimp. Both of these are seen in a lot of shakshuka variations.
How to Make This Recipe

1. Heat a large pan (cast iron skillet preferred) to medium heat and add oil. Once warmed, add the diced onion and diced bell pepper. Let them sauté down for 5-8 minutes before adding the garlic and diced zucchini. Stir to avoid burning.

2. Add the diced tomatoes and tomato paste. *See Pro Tip for dicing fresh tomatoes*
3 . Turn the heat to low and simmer until the tomatoes start to break down and water evaporates (~12-15 minutes).

4. Use a large spoon to remove half of the mixture and use an immersion blender to blend (this will give us the tomato-like sauce that comes when using canned tomatoes).
5. Pour the blended sauce back into the skillet and stir together. Add the seasonings and diced spinach into the skillet (if neeed, add 1-2 tbsp of water if the mixture is too thick to help the spinach wilt quickly).

6. Use a rubber spatula to make 6 even divots in sauce and crack eggs into each divot.
7. Ensure the heat is turned to low and cover the skillet with a lid. Allow the eggs to cook for 4-8 minutes depending on desired doneness: egg whites need to be firm but yolk still slightly runny.
8. Top with fresh herbs and feta cheese and enjoy with a thick slice of toasted bread!
PRO TIPS
How to evenly dice Roma tomatoes: Slice the tomatoes in half lengthwise and use a small spoon or your fingers to gently remove the seeds and excess liquid (this prevents a watery sauce). Lay each half cut-side down, make lengthwise strips, then rotate and dice into even cubes. This helps them cook down uniformly and creates a smoother, more cohesive sauce.
Recipe FAQs
Store leftover shakshuka in an airtight container for up to 4 days. The eggs may firm up more over time, but it will still be delicious. I recommend glass as to not stain the sides of your tupperware!
Reheat gently in a skillet over low heat until warmed through. You can add a splash of water to loosen the sauce and help prevent overcooking the eggs.
Absolutely. Canned whole peeled tomatoes (like San Marzano) are a great option to make a delicious tomato sauce, especially when tomatoes aren’t in season. Just crush or blend them slightly before adding.
If you don’t have a skillet with a lid, no worries! Pop a sheet pan on top of the skillet (it’s what I do!). It allows the eggs to steam cook!
Serving suggestions
Serve your shakshuka with a thick slice of crusty bread, naan or pita bread, with French bread croutons on top or maybe even scallion pancakes for more of an Asian flare.

More Recipes You’ll Love
Love this recipe? Please leave a 5-star 🌟🌟🌟🌟🌟 rating and comment in the recipe card below. Thanks for visiting!
Vegetarian Shakshuka
Equipment
- 12” skillet w/ lid or baking sheet
- Immersion blender
- Rubber Spatula
- knife & cutting board
- measuring cups / spoons
Ingredients
- 1 tbsp Olive oil
- ½ medium white onion, died
- 3 mini bell peppers, diced
- 6 Roma tomatoes, if not in season, San Marzano canned whole tomatoes peeled are a flavorful option
- 1 medium Zucchini, diced
- 4 cubes minced garlic
- 1 tbsp tomato paste
- 2 cups Spinach, finely diced
- ½ tsp Cumin
- 1 tsp paprika
- ¼ tsp cayenne pepper, or red chili flakes / red pepper flakes
- 6 eggs
- ¼ cup feta cheese
- ¼ cup Basil/cilantro or fresh parsley, chiffonade
- salt/pepper
Instructions
- Heat a large pan (cast iron skillet preferred) to medium heat and add oil. Once warmed, add the diced onion and diced bell pepper. Let them sauté down for 5-8 minutes before adding the garlic and diced zucchini. Stir to avoid burning.

- Add the diced tomatoes and tomato paste. *See Pro Tip for dicing fresh tomatoes*

- Turn the heat to low and simmer until the tomatoes start to break down and water evaporates (~12-15 minutes).
- Use a large spoon to remove half of the mixture and use an immersion blender to blend (this will give us the tomato-like sauce that comes when using canned tomatoes).
- Pour the blended sauce back into the skillet and stir together. Add the seasonings and diced spinach into the skillet (if neeed, add 1-2 tbsp of water if the mixture is too thick to help the spinach wilt quickly. Stir).

- Use a rubber spatula to make 6 even divots in sauce and crack eggs into each divot.

- Ensure the heat is turned to low and cover the skillet with a lid. Allow the eggs to cook for 4-8 minutes depending on desired doneness: egg whites need to be firm but yolk still slightly runny.
- Top with fresh herbs and feta cheese and enjoy with a thick slice of toasted, buttered bread!










this is actually so incredibly yummy I won’t go back to making it with canned tomatoes.