Creamy Italian Eggs in Purgatory
jump toRECIPE
Creamy eggs in purgatory is a cozy Italian-inspired breakfast or dinner featuring eggs gently simmered in a rich, garlicky tomato cream sauce with herbs and parmesan, served straight from the skillet. Unlike traditional purgatory styles that are brothy and spicy, this version adds cream and cheese for a luscious finish that clings to every bite of toasted bread. If you love rich egg dishes like this, give my spicy baked eggs with halloumi and harissa or this Turkish savory yogurt (Çilbur) a try next.

Why You’ll Love This Recipe
- Rich & comforting – creamy tomato sauce pairs beautifully with runny eggs.
- Easy one-pan dish – minimal cleanup and effortless preparation.
- Versatile meal – perfect for brunch, lunch, or a casual weeknight dinner.
Key Ingredients in This Recipe
- Cannellini beans – Cannellini beans, also known as white navy beans, are used in Italian recipes. They can be used interchangeably with great northern beans. I love using them for their smooth, slightly nutty texture. While I soak dried beans in this recipe they can be substituted with canned beans for a shortcut.
- Canned diced tomatoes – Canned tomatoes are versatile and are used to create the sauce for this eggs in purgatory dish. They are picked when ripe then cooked and peeled before they are diced then canned and packed in tomato juice or tomato puree.
- Eggs – The eggs are cracked into the sauce and beans and left to cook in the sauce until the egg whites are just set and the yolks are still runny.
A full ingredient list with exact amounts can be found in the recipe card below.

Pro Tip
Simmer the sauce gently before adding the eggs so it thickens just enough to cradle the eggs — too high heat can toughen the whites.
Swaps and Substitutions
- Eggs: Use poached or soft-boiled eggs instead of directly simmering if preferred.
- Heavy cream: Swap with whole milk or half-and-half for a lighter sauce (slightly less rich).
- Parmesan cheese: Substitute pecorino romano for a saltier, sharper flavor.
- Tomato sauce: Use crushed tomatoes for chunkier texture.
- Herbs: Fresh basil or oregano can replace parsley for varied flavor.
How to Make Creamy Italian Eggs in Purgatory (Step-by-Step)

Soak the cannellini beans overnight. Drain and set aside.

Heat a large oven-safe skillet over medium heat, add the olive oil and heat through. Add the shallot and sauté until tender, about 5 minutes.

Add the tomatoes, beans, basil, red pepper flakes, ¼ cup of the Parmesan cheese and 1 cup of water. Simmer until the beans are tender and the tomatoes break down, about 45 minutes. Add more water, ¼ cup at a time if the sauce thickens too much, it should be the consistency of tomato sauce. Season to taste with salt and pepper then stir in the yogurt.

Return the pan to medium-low heat. Using a wooden spoon, make 6 holes in the tomato sauce in the pan. Crack the eggs into each of the holes, cover the pan and continue to cook until the eggs are set, about 3 minutes.

Heat a large non-stick sauté pan over medium-low heat. Add the olive oil and heat through then add the butter and allow to melt. Arrange the slices of bread in the pan, frying until the bread is golden brown and crisp, about 2 minutes. Flip and top with mozzarella cheese, and cover the pan, cooking until the cheese melts, about an additional 2 minutes. Work in batches if necessary.

To serve, ladle the eggs and tomato sauce into bowls and garnish with basil leaves. Serve with the fried bread for dipping.
How to Serve Creamy Eggs in Purgatory
- With toast: Serve with crusty bread to soak up the rich sauce and runny yolk.
- Garnished: Top with extra parmesan and fresh herbs for brightness.
- With greens: Pair with a light salad or sautéed spinach for balance.
- Family-style: Bring the skillet to the table for casual sharing.
How to Store Creamy Eggs in Purgatory
- Refrigerate: Store leftovers in an airtight container for up to 2 days.
- Reheat gently: Warm on the stovetop over low heat; add a splash of broth or cream to loosen the sauce.
- Avoid reheating eggs too long: For best texture, reheat gently until just warm.
FAQ – Frequently Asked Questions
You can make the sauce in advance and reheat before adding the eggs, but the dish is best when eggs are cooked fresh.
Yes. Pecorino romano, asiago, or a sprinkle of mozzarella all work nicely, with slightly different flavor profiles.
This recipe is mild, but a pinch of red pepper flakes can be added for heat.
Sturdier breads like sourdough, ciabatta, or baguette are all excellent for dipping into the sauce and egg yolk.
Yes. Swap the cream for coconut milk and use a dairy-free parmesan alternative for a dairy-free version.
Other Recipes to Try
If you love hearty, slow breakfasts, take a look at some of these elevated recipes below:
- Spicy Baked Eggs with Halloumi and Harissa
- Turkish Savory Yogurt (Çilbur)
- Eggs en Cocotte: Baked Eggs
Thanks for cooking with me! If you made this recipe, leave a 🌟 rating and share your thoughts or tips below. I’d love to hear from you!
Creamy Italian Eggs in Purgatory
Rate this RecipeIngredients:
For the tomato sauce:
- ½ cup dried white cannellini beans (or a 15-ounce can of canned white beans)
- 2 tablespoons extra-virgin olive oil
- 1 medium shallot, diced
- 1 (28-ounce) can diced tomatoes
- 2 tablespoons diced basil
- ½ teaspoon red pepper flakes
- ½ cup freshly grated Parmesan cheese, divided
- Kosher salt, as needed
- Freshly ground black pepper, as needed
- ½ cup plain full-fat yogurt
For serving:
- 6 eggs
- 6 tablespoons extra-virgin olive oil
- 6 tablespoons unsalted butter
- Crusty Italian bread, cut into 1” slices
- 1 cup shredded part-skim mozzarella cheese
- Basil leaves, for garnish
Instructions:
For the tomato sauce:
- Soak the cannellini beans overnight. Drain and set aside.
- Heat a large oven-safe skillet over medium heat, add the olive oil and heat through. Add the shallot and sauté until tender, about 5 minutes. Add the tomatoes, beans, basil, red pepper flakes, ¼ cup of the Parmesan cheese and 1 cup of water. Simmer until the beans are tender and the tomatoes break down, about 45 minutes. Add more water, ¼ cup at a time if the sauce thickens too much, it should be the consistency of tomato sauce. Season to taste with salt and pepper then stir in the yogurt.
For serving:
- Return the pan to medium-low heat. Using a wooden spoon, make 6 holes in the tomato sauce in the pan. Crack the eggs into each of the holes, cover the pan and continue to cook until the eggs are set, about 3 minutes.
- Heat a large non-stick sauté pan over medium-low heat. Add the olive oil and heat through then add the butter and allow to melt. Arrange the slices of bread in the pan, frying until the bread is golden brown and crisp, about 2 minutes. Flip and top with mozzarella cheese, and cover the pan, cooking until the cheese melts, about an additional 2 minutes. Work in batches if necessary.
- To serve, ladle the eggs and tomato sauce into bowls and garnish with basil leaves. Serve with the fried bread for dipping.
Notes:
Nutrition:
TAG ME ON INSTAGRAM TO BE FEATURED ON MY STORIES! @cookingwithcocktailrings





This was delish! Will definitely make again! Thank you!
I’m so happy to hear that!! Thank you so much for sharing!
This was so delicious topped with fresh basil from the garden! Will definitely enjoy again in the winter for comfort food.
I’m so happy to hear you enjoyed the recipe!! Thank you for sharing!
Can’t wait to try this recipe. How long do you cook everything together if using canned beans?
If using canned beans you can just cook everything together for about 15 to 20 minutes!