Heat the olive oil in a large skillet over medium-high heat. Add the onion and garlic and cook for 8-10 minutes, until soft and translucent. Add the chile pepper, salt, pepper, and spices. Cook for another minute, stirring constantly to release their fragrance.
Add the tomatoes, tomato paste, honey, and vinegar. Decrease the heat to medium and cook for 12-15 minutes, until the sauce has thickened somewhat. (Fresh tomatoes might take longer to cook than canned.) Stir in the greens, if using.
If you're not using the greens and you prefer a smoother sauce, transfer everything to a blender to purée. At this point, you can return all the sauce to the pan and and continue with the recipe to cook all the eggs at once, or you can put sauce in individual baking dishes. I like to make the sauce and keep it in the fridge for "Shakshuka-On-Demand".
Make the number of indentations in the sauce that you need for as many eggs as you are cooking. Crack the eggs into those indentations.
To cook, you can bake in a 350 F oven for 8-12 minutes or you can cook on the stove for about 10 minutes, using a lid for an additional 3-5 minutes to be sure the whites are done. The yolks should still be runny when the eggs are done.
Serve with crusty bread or pita bread.
Bon Appétit!