Heat a 12” skillet over medium heat. Once the pan is hot, add the oil, and heat until it shimmers.
Add the onion and saute, stirring frequently, until translucent, 5-6 minutes. Add the garlic and saute, stirring continuously, until fragrant, about 1 minute.
Add the red pepper flakes, oregano, cinnamon, and paprika to the onions and garlic. Stir to coat the onions in the spices and sauté until the spices are toasted and fragrant, about 1 minute.
Reduce heat to low. Add the pureed tomatoes (see notes), 2 tbsp chopped parsley, ½ tsp salt, and ½ tsp pepper. Stir to combine and simmer 10 minutes. Taste the sauce for seasoning and add additional salt and pepper if needed.
Add the white beans, stir to combine, and simmer an additional 5 minutes.
Make a well in the tomato sauce using the back of a wooden spoon. Gently an egg into the well, pouring as much of the whites first as possible. Spoon some of the sauce over the whites to partially bury them. Repeat with the remaining eggs, then season each egg with salt and pepper.
Increase heat to medium. Simmer until the whites are set, but the yolks are still runny, 7-8 minutes. Remove from heat.
Sprinkle the dish with the remaining tablespoon of parsley, and garnish with shredded parmesan cheese. Portion onto plates and serve immediately. Eggs in purgatory is best enjoyed immediately, and storing leftovers is not recommended.
Notes
I recommended pureeing whole canned tomatoes for best flavor and consistency. Add the entire can of tomatoes to a blender, then pulse 3-5 times until the tomatoes achieve a consistency in-between coarsely chopped and smooth.