1Heat the olive oil in a large, deep skillet or cast iron pan over medium heat. A 12-inch skillet works well for 6 eggs, providing enough room for each egg to have its own space. Add the diced onion and cook for 5-6 minutes, stirring occasionally, until softened and beginning to turn golden. Add the diced red and yellow bell peppers and continue cooking for another 5-6 minutes until the peppers have softened and the onions are caramelized. The peppers should be tender but still have some texture - not completely mushy.
2Add the minced garlic to the pan and cook for about 1 minute until very fragrant. Add the cumin, sweet paprika, smoked paprika, and cayenne pepper. Stir constantly for about 30 seconds to toast the spices and coat the vegetables - this blooms the spices and releases their aromatic oils. Be careful not to burn the spices or they will become bitter. Add the tomato paste and harissa paste if using, stirring for another 30 seconds until the paste darkens slightly and becomes fragrant.
3Pour in the crushed tomatoes, using a wooden spoon to scrape up any browned bits from the bottom of the pan. Add the sugar, salt, and black pepper. Stir well to combine everything into a cohesive sauce. The sugar balances the acidity of the tomatoes and is traditional in many shakshuka recipes. Bring the sauce to a simmer, then reduce heat to medium-low. Let the sauce cook uncovered for 10-15 minutes, stirring occasionally, until it thickens slightly and the flavors meld together. The sauce should be thick enough to hold the eggs but still have some moisture.
4Taste the sauce and adjust seasoning as needed - you may want more salt, more cayenne for heat, or more sugar if the tomatoes are particularly acidic. Using the back of a spoon, create 6 wells or indentations in the sauce, spacing them evenly around the pan. These wells will hold the eggs and keep the yolks intact. Make the wells deep enough that the eggs will be partially submerged in the sauce but not so deep that the eggs disappear completely.
5Crack one egg into a small bowl first (this prevents broken yolks from ruining the dish), then gently slide it into one of the wells. Repeat with the remaining eggs, placing one in each well. Season the eggs lightly with a pinch of salt and pepper. Cover the pan with a lid and cook over medium-low heat for 6-10 minutes, depending on how runny you like your yolks. For runny yolks with fully set whites (the ideal), cook for about 6-7 minutes. Check the eggs periodically by gently jiggling the pan - the whites should be set but the yolks should still wobble.
6Remove the pan from heat and immediately garnish with fresh chopped cilantro, parsley, and crumbled feta cheese. The residual heat will gently warm the feta without melting it completely. Serve the shakshuka immediately, directly from the skillet - this is traditional and keeps the dish hot. Place the skillet in the center of the table with plenty of warm crusty bread, pita, or challah for scooping. Each person should scoop out an egg along with plenty of sauce using the bread. In Israel, shakshuka is often served with a side of Israeli salad (diced cucumbers and tomatoes) and tahini. Shakshuka is best eaten right away while the yolks are still runny and the bread is perfect for dipping.