Soups & Stews
This baked egg and meatball soup recipe transforms a simple one-pot meal into a heartwarming Italian-inspired dinner that requires just 30 minutes of prep and 45 minutes of baking. The secret lies in layering tender meatballs, rich broth, and perfectly poached eggs—each element cooking together to create a dish that's both comforting and restaurant-quality. I developed this recipe during chilly evenings when I craved something substantial yet effortless, and it became an instant family favorite.
The beauty of this soup is its simplicity: ground beef and pork blend seamlessly with herbs and breadcrumbs to form meatballs that stay juicy while baking, while the egg yolks poach right in the broth, creating silky, custardy centers. The broth simmers with aromatic vegetables and tomatoes, building deep flavor without requiring constant attention. What you'll end up with is a steaming bowl of soup where every spoonful delivers tender meatballs, velvety egg yolks, and a savory broth that feels like a warm hug on a cold day.
This recipe delivers on the promise of a one-pot meal without sacrificing depth of flavor, making it perfect for busy weeknights or cozy gatherings. The eggs poach directly in the soup, ensuring they stay warm and perfectly cooked, while the meatballs infuse the broth with their savory essence. The result is a dish that's as satisfying as it is easy to prepare, with minimal cleanup and maximum comfort.
Serve with crusty bread to soak up every last drop of that flavorful broth, or pair it with a simple green salad for a balanced meal. The leftovers reheat beautifully, making this an ideal recipe for meal prep—just be sure to add the eggs fresh when serving to maintain their perfect texture.
Ingredients for baked egg and meatball soup
The essential ingredients for a comforting Italian-inspired one-pot meal that's restaurant-quality at home.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 lb | 80/20 fat ratio preferred |
| Ground Pork 🐷 | ½ lb | Lean or regular fat ratio |
| Large Eggs 🥚 | 2 whole | Room temperature for meatballs |
| All-Purpose Flour 🌾 | ½ cup | For meatball binding |
| Panko Breadcrumbs 🍞 | ½ cup | Light and crispy texture |
| Fresh Parsley 🌿 | ¼ cup | Finely chopped, stems removed |
| Garlic Cloves 🧄 | 3 cloves | Minced for meatballs |
| Onion 🧅 | 1 medium | Finely diced |
| Carrots 🥕 | 2 medium | Peeled and sliced into rounds |
| Celery Stalks 🌿 | 2 whole | Diced, about 0.5 cup |
| Canned Crushed Tomatoes 🍅 | 1 can | 28 oz, San Marzano preferred |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Heavy Cream 🥛 | ½ cup | Full-fat for richness |
| Large Eggs 🥚 | 4 whole | Room temperature for poaching |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | 1 tsp | Freshly ground |
| Dried Oregano 🍃 | 1 tsp | Italian blend preferred |
| Fresh Basil 🌿 | ¼ cup | Chopped for garnish |
The meatballs are the heart of this dish, so quality matters. Ground beef and pork blend perfectly for juicy meatballs—the 80/20 fat ratio in beef keeps them tender. Look for freshly ground meat at butcher counters or pre-packaged at Whole Foods or Trader Joe's. The San Marzano tomatoes elevate the broth—canned or fresh both work, but the canned version is more consistent. For the broth, low-sodium chicken broth ensures you control the seasoning without excess salt. Panko breadcrumbs add texture, but regular breadcrumbs work in a pinch.
No panko? Regular breadcrumbs plus a pinch of salt do the job. Short on fresh herbs? Dried oregano at half the amount keeps the Italian flavors intact. The onions, carrots, and celery form the classic mirepoix—baby carrots or frozen chopped veggies save prep time. For the poached eggs, room-temperature eggs slide right into the broth without breaking. The heavy cream adds richness, but half-and-half or coconut milk can be substituted for a lighter option. Always taste the broth before adding the eggs—adjust seasoning with salt and pepper as needed.
Prep the meatballs and veggies ahead—they keep well in the fridge for 2 days. The poached eggs should be added fresh when serving, but you can pre-make the soup base and store it for up to 3 days. For meal prep, portion the soup into containers and keep the eggs separate. Reheat gently on the stove, then add the eggs to the warm broth for perfect poaching. Garnish with fresh basil just before serving—it wilts fast, so add it last for maximum flavor.
Why You'll Love This Recipe
- I swear by this one: just mix the ground beef and pork, shape into balls, dip in egg, then coat with flour and panko. No fancy techniques—just hands-on simplicity that even my 10-year-old could handle.
- No-Fuss Assembly: I swear by this one: just mix the ground beef and pork, shape into balls, dip in egg, then coat with flour and panko. No fancy techniques—just hands-on simplicity that even my 10-year-old could handle.
- Rich, Crispy Magic: The panko gives those meatballs a golden, shatteringly crisp exterior while the eggs inside stay tender—like biting into a perfectly balanced bite. Honestly, the contrast is what makes this soup ridiculously good.
- Leftovers That Don’t Suffer: This soup actually tastes better the next day. The flavors meld, the meatballs stay juicy, and I’ve reheated portions straight from the fridge for lunch—no sad, dry texture here.
Step-by-step instructions for baked egg and meatball soup
This method delivers tender meatballs and perfectly poached eggs in a rich, flavorful broth—all in one pot.
Prepare the Meatball Mixture
In a large bowl, combine the 1 lb ground beef and 0.5 lb ground pork. Add the 2 whole large eggs, 0.5 cup all-purpose flour, 0.5 cup panko breadcrumbs, 1.5 tsp salt, 1 tsp black pepper, 1 tsp dried oregano, 3 minced garlic cloves, 0.25 cup finely chopped fresh parsley, 0.5 cup diced onion, 0.5 cup diced carrots, and 0.5 cup diced celery. Mix gently with your hands until just combined—overmixing develops gluten, which makes meatballs tough.
Form the mixture into 16 equal-sized meatballs (about 1.5 inches in diameter). I press them gently but firmly to ensure they hold together during cooking. Place them on a parchment-lined tray and refrigerate for 15 minutes—this helps them maintain shape when added to the soup.
Build the Soup Base
In a 5-quart Dutch oven, heat 1 tablespoon olive oil over medium heat. Add the 16 meatballs in a single layer and cook undisturbed for 3-4 minutes until golden brown on all sides. Remove the meatballs and set aside. In the same pot, add 1 tablespoon olive oil and sauté 0.5 cup diced onion, 0.5 cup diced carrots, and 0.5 cup diced celery for 5 minutes until softened.
Stir in 1 can crushed tomatoes, 4 cups chicken broth, and 1 tsp dried oregano. Bring to a gentle simmer, then return the meatballs to the pot. Cover and cook for 20 minutes on low heat, stirring occasionally. The meatballs should be tender but not falling apart—they'll finish cooking in the oven.
Bake for Rich, Flavorful Depth
Preheat your oven to 375°F. Transfer the Dutch oven to the oven and bake uncovered for 25 minutes. This step develops the broth's depth of flavor and ensures the meatballs cook through evenly. Stir once halfway through baking to prevent sticking.
Remove the pot from the oven and stir in the 0.5 cup heavy cream. Let the soup sit off heat for 5 minutes to allow the cream to meld into the broth. Taste and adjust seasoning—you may need an extra pinch of salt or pepper to balance the flavors.
Poach the Eggs to Perfection
Using a slotted spoon, carefully transfer 4 meatballs to each of 4 preheated soup bowls. Crack 1 whole large egg into the center of each bowl. Return the soup to medium-low heat and gently simmer for 3-4 minutes, stirring occasionally to distribute heat evenly. The eggs should poach slowly, with just-set whites and runny yolks—this creates the signature creamy texture.
Once the whites are fully set but yolks remain runny, use the slotted spoon to transfer the eggs into their respective bowls. Ladle the hot soup over the eggs, ensuring each bowl has 1 meatball and 1 egg. Garnish immediately with 0.25 cup chopped fresh basil for a pop of brightness.
Serve Immediately for Best Results
Serve the soup right away while the eggs are still warm and the broth is steaming. The runny yolks will blend into the rich tomato broth, creating a luxurious mouthfeel. Each bite should deliver tender meatballs, creamy eggs, and a well-seasoned broth with layers of Italian-inspired flavors.
For extra warmth, pair with crusty bread to soak up the broth. If you prefer, you can make this ahead of time—just assemble the soup without the eggs, refrigerate, and poach the eggs fresh when serving. The flavors only improve with a few hours of resting!
Pro Tips For Making Baked Egg And Meatball Soup
- Chill the Meat Mix: I learned this the hard way—rolling meatballs straight from the fridge makes them dense and dry. Let the ground beef and pork sit in a bowl for 10 minutes before mixing with eggs and flour. That short rest keeps them juicy after baking.
- Toast the Panko First: Skip the raw breadcrumb texture by lightly toasting the panko in a dry pan for 2-3 minutes before mixing it into the meatballs. The extra crunch stays crispier after baking, and it adds a nutty depth that plain panko misses.
- Don’t Overmix the Dough: Once you add flour to the meat-egg mix, stir just until combined—no need to overwork it like biscuit dough. Overmixing tightens the proteins and turns the meatballs tough. Think "gentle folds," not "kneading."
- Bake in Two Batches: Crowding the baking dish leads to uneven cooking and soggy bottoms. Split the meatballs into two pans if needed, even if it means an extra 5 minutes in the oven. The edges will brown better, and the eggs won’t steam instead of set.
Troubleshooting this dish
Broth Too Watery?
If your soup turns out too thin, it’s likely because the meatballs released too much liquid or the broth wasn’t reduced enough. To fix this, simmer the soup uncovered for an extra 10-15 minutes on medium-low heat to evaporate excess moisture. For a richer base, stir in 1-2 tablespoons of tomato paste or a splash of heavy cream—this adds body without overpowering the Italian flavors. 💡
Meatballs Falling Apart?
Overmixing the meatball mixture or using too much flour can make them crumbly. To prevent this, handle the mixture gently and stick to the 0.5 cup flour measurement. For extra binding, add 1 tablespoon grated Parmesan cheese to the meatball mix—it helps hold everything together. If they’re already falling apart, try this: remove the meatballs from the soup, blend the broth with an immersion blender for 10 seconds, then return the meatballs to thicken the sauce. ✨
Eggs Overcooking?
Poaching eggs in hot soup can turn them rubbery if the heat is too high. Keep the soup at a gentle simmer (just small bubbles) and poach the eggs for no more than 3-4 minutes. For foolproof results, preheat your bowls in the oven at 200°F for 5 minutes before adding the eggs—this helps maintain their shape. If the whites set too fast, reduce the heat further or add the eggs to slightly cooler soup. 🥚
Broth Too Salty?
If your soup tastes overpoweringly salty, don’t panic—there are simple fixes. For mild adjustments, stir in 1-2 tablespoons of cold water or broth to dilute the saltiness. For a more dramatic change, add ½ cup diced potatoes or zucchini and simmer for 10 minutes—the veggies absorb excess salt while adding fresh flavor. Avoid adding fresh herbs like basil too early, as their bright notes can make saltiness more noticeable. 🌿
Meatballs Not Cooking Through?
If your meatballs remain undercooked after baking, they likely need more time in the oven. Increase the baking time by 5-10 minutes and check their internal temperature with a meat thermometer—aim for 160°F. For extra insurance, add them to the simmering broth earlier (after the initial sear) and let them cook longer before baking. If they’re still tough, try this trick: blend 2 tablespoons of the broth into the meatball mixture before forming them—this adds moisture and tenderness. 🔥
Eggs Floating Instead of Poaching?
Eggs float when the broth isn’t dense enough to hold them down. To fix this, stir in 1-2 tablespoons of cornstarch or flour mixed with 2 tablespoons cold water and simmer for 2-3 minutes to thicken the broth slightly. For a more permanent fix, add ½ cup cooked pasta or orzo to the soup—it creates a heartier base that keeps eggs submerged. If you’re serving the soup immediately, place a small piece of parchment paper under the egg to weigh it down gently. 💫
Nutrition facts
Frequently asked questions
Can I make this soup ahead of time?
Prepare the soup base (without eggs) up to 2 days in advance and store it in an airtight container in the fridge. When ready to serve, reheat gently and poach the eggs fresh. The flavors actually improve with time, as the meatballs and broth meld together beautifully. Just add the eggs right before serving to keep them perfectly runny.
What's the best way to reheat leftovers?
Reheat the soup base (without eggs) on the stovetop over medium-low heat until steaming, then add the eggs fresh. Never microwave the eggs—they'll turn rubbery. For extra richness, stir in 1 tablespoon heavy cream or a splash of broth when reheating. The meatballs should stay tender if reheated gently.
Can I substitute chicken for the beef and pork?
Yes, but the flavor will be lighter. Use 1.5 lbs ground chicken and add 1 teaspoon Italian seasoning plus ½ teaspoon smoked paprika to compensate. For best results, mix chicken with ¼ lb ground pork—this keeps the meatballs juicy and flavorful. The baking time remains the same.
How do I make this vegetarian?
Replace the meat with 1 lb lentils or mushrooms (finely chopped portobellos work well). Use vegetable broth instead of chicken broth and add 1 teaspoon soy sauce or ½ teaspoon miso paste for umami depth. The baking time stays the same, but check for doneness at 20 minutes. For extra protein, stir in ½ cup cooked quinoa with the cream.
Why do the eggs sometimes break when poaching?
Room-temperature eggs poach best—cold eggs are more likely to crack. Also, ensure your soup is at a gentle simmer (not boiling) and use a slotted spoon to carefully lower eggs into the broth. For extra stability, preheat your bowls in the oven at 200°F for 5 minutes before adding the eggs.
