Pour olive oil in a wide pan on medium heat and sauté the onions till they're soft and golden at the edges. Add the garlic and cook for 30 seconds more.
Put in the lentils and some water/ vegetabls stock/ chicken stock, cover the pan and let the lentils cook for 7-10 mins. Add a little water in between if needed (it should not be runny but rather thick and creamy).
Cook the lentils till they're soft but still hold their shape; then add the bell pepper and tomato along with the herbs, spices and salt. Cook till the vegetables are a little mushy and soft.
Put in the spinach and let them cook till they're wilted and cooked (about 7 mins).
Using the back of a ladle, make 4 nest like depressions in the lentil mixture and crack the eggs into them. Cook the eggs for 3 mins till they're a little set. turn off the heat and let them cook for 2-3 mins more. They'll be soft with runny yolks. If you like your eggs more set, cook them for longer. Garnish with chopped coriander. Serve the shakshuka, warm, straight from the pan.