Start by slicing the peppers and finely chopping the onion. Mince the garlic so it blends smoothly into the sauce while cooking. Having everything ready before cooking makes the process much easier and faster.
Heat olive oil in a large skillet over medium heat. Add the onions and peppers, then cook until they soften and become slightly caramelized. This step builds the sweet and savory flavor base for the shakshuka.
Stir in the garlic, paprika, cumin, and chili flakes. Let the spices cook for about a minute to release their aroma and deepen the flavor. Be careful not to burn the garlic during this step.
Add crushed tomatoes and tomato paste to the skillet, then season with salt and pepper. Stir everything well and let the sauce simmer until it thickens slightly. The sauce should look rich and glossy before adding the eggs.
Use a spoon to make small spaces in the sauce for each egg. Crack the eggs carefully into the wells so the yolks stay intact. This helps the eggs cook evenly without spreading too much.
Cover the skillet with a lid and let the eggs cook gently. Cook until the whites are set but the yolks are still slightly runny. If you prefer firmer yolks, cook for an extra couple of minutes.
Sprinkle crumbled feta over the hot shakshuka right before serving. The heat softens the cheese slightly while keeping its creamy texture. This adds a salty and tangy finish to the dish.
Top the shakshuka with fresh parsley and cilantro for added freshness. Serve it directly from the skillet with warm bread or pita on the side. The bread is perfect for scooping up the flavorful sauce and eggs.