Heat the olive oil in a large skillet over medium heat. Add the chopped onion and diced bell pepper. Sauté until the vegetables are softened, about 5-7 minutes.
Add the minced garlic to the skillet and cook for another minute until fragrant. Then, sprinkle in the ground cumin, paprika, and chili powder (if using). Stir well to combine and let the spices toast for about 1 minute.
Pour the diced tomatoes (with their juices) into the skillet. Stir to combine with the onion and pepper mixture. Let it simmer for about 10-15 minutes until the sauce thickens slightly. Season with salt and pepper to taste.
Using the back of a spoon, make small wells or indentations in the tomato mixture. Crack an egg into each well. Space them evenly around the skillet.
Cover the skillet with a lid and let the eggs cook in the tomato sauce for about 5-7 minutes, or until the whites are set but the yolks are still runny. If you prefer firmer yolks, cook for a few minutes longer.
Once the eggs are cooked to your liking, sprinkle fresh chopped parsley or cilantro over the top for garnish. You can also add some crumbled feta cheese if desired.
Shakshuka is traditionally served straight from the skillet. Place it on the table with some crusty bread or pita for dipping and soaking up the delicious sauce.
Dive into your homemade Shakshuka and enjoy the blend of flavors! It's perfect for breakfast, brunch, or even dinner.