Warm the oil in a large pan (make sure you have a lid that fits) over medium heat. Once shimmering, add the onion, bell pepper, and salt. Cook, stirring often, until the onions are tender and turning translucent, about 4 to 6 minutes.
Add the garlic, tomato paste, cumin, paprika and chilli powder. Cook, stirring constantly, until nice and fragrant, 1 to 2 minutes.
Pour in the tinned tomatoes with their juices and break them up and add the coriander. Stir, and let the mixture come to a simmer. Reduce the heat as necessary to maintain a gentle simmer, and cook for 5 minutes to give the flavors time to meld.
Turn off the heat. Taste, and add salt and pepper as necessary. Use the back of a spoon to make a well near the perimeter and crack the egg directly into it. Gently spoon a bit of the tomato mixture over the whites to help contain the egg. Repeat with the remaining 4 to 5 eggs, depending on how many you can fit. Sprinkle a little salt and pepper over the eggs.
Put a lid on the pan for 8 to 12 minutes, checking often once you reach 8 minutes. They’re done when the egg whites are an opaque white and the yolks have risen a bit but are still soft. They should still jiggle in the centers when you shimmy the pan. (Remember that they’ll continue cooking after you pull the dish out of the oven.)
Garnish with the fresh coriander leaves, and more chilli powder, if you want. Serve in bowls with crusty bread on the side.