Shakshuka—the popular Middle Eastern dish in which eggs are cooked directly in a rich tomato sauce—lends itself well to soup, too. For ease of serving, we like to poach the eggs separately and nestle one into each bowl. Either crumble the bacon over top of the soup or use it to dip into the egg and break it up.
Cook the bacon in a large, wide soup pot over medium heat until browned and crisp, about 10 minutes. Transfer to a paper towel–lined plate to drain. Remove all but 2 tablespoons bacon fat from the pot.
Add the onion, bell pepper, carrot and celery to the pot and cook, stirring occasionally, until softened, 8 to 10 minutes.
Add the cumin, paprika, turmeric and crushed red pepper flakes and cook, stirring, for 1 minute. Season the mixture with salt and pepper.
Add the tomatoes and their juice to the pot, breaking them up with the back of a spoon. Fill the tomato can with water and add it to the pot. Bring the mixture to a boil. Reduce the heat and simmer until vegetables are very soft, about 20 minutes.
If desired, puree the soup until smooth, using a food mill, a blender (use caution when blending hot liquids) or an immersion blender to blend. Season to taste with salt and pepper. Keep warm over low heat.
Meanwhile, bring a small pot of water to a simmer. Break the eggs into the water and poach for 2 to 3 minutes (depending on how well cooked you like your yolks). Use a slotted spoon to transfer to a plate (or place directly in the soup bowls).
To serve, divide the soup among bowls. Nestle a poached egg into each one and garnish with chopped cilantro. Serve with a slice or two of bacon.