Chop the onion and garlic, seed the bell pepper, and cut it into cubes.
Start cooking the onion in the oil over medium heat, stirring occasionally.
After 3–4 minutes, add the garlic and the bell pepper. Let them soften together for 5 minutes, stirring occasionally.
Add the spices and stir them in. Pour in the tomatoes, stir, and reduce over low heat until thickened, about 20 minutes. At this point, check the flavor of the shakshuka, because once the eggs have gone in, you won’t be able to season it anymore.
Using a spoon or spatula, make wells in the tomatoes and crack in the eggs. It’s worth doing this one at a time, so well-egg, well-egg, and so on. Cook covered for about 7–8 minutes, until the egg whites are set. If you want fully cooked eggs, cook for another 5 minutes.
Serve hot with chopped or torn parsley or cilantro and fresh bread.