Al Capone Soup Recipe: Mafia-Style Meatballs in Tomato-Basil Broth

Soups & Stews

Al Capone Soup Recipe: Mafia-Style Meatballs in Tomato-Basil Broth

This Al Capone soup recipe brings Old World Italian roots to your kitchen with rich, meaty meatballs simmered in a deep tomato-basil broth. The secret lies in slow-cooked ground beef and pork—just like the legendary Chicago mobster’s favorite—transformed into tender, flavorful meatballs that melt in your mouth. Every spoonful delivers that classic Italian restaurant experience at home, with aromatic herbs and a hearty broth that pairs perfectly with crusty bread.

The beauty of this recipe is in its simplicity: no fancy techniques, just quality ingredients and patience. You’ll start with a rich tomato base, then brown the meatballs to develop deep, savory flavors before simmering everything together for hours. The result? A soup so satisfying it feels like a hug in a bowl—perfect for chilly evenings or family gatherings. No shortcuts here, just old-school Italian comfort food done right.

What makes this version stand out is the balance of textures and flavors—the tender meatballs, the velvety broth, and the bright freshness of basil. The slow simmering process ensures every bite is packed with flavor, while the crusty bread on the side soaks up every last drop. This isn’t just soup; it’s a meal that feels like a celebration, every time you serve it.

Serve it with garlic toast or a side salad for a complete meal, or double the batch for leftovers that taste even better the next day. The key to success? Don’t rush it—let the flavors meld and deepen. Trust me, this is the kind of soup that turns ordinary weeknights into something special.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for al capone soup

Rich meatballs, velvety broth, and aromatic basil—this soup delivers Old World Italian comfort in every spoonful.

Ingredient Amount Notes
Ground Beef 🥩 1 ½ lb 80% lean for best flavor
Ground Pork 🐖 ½ lb Freshly ground preferred
Yellow Onion 🧅 1 whole Medium-sized, finely chopped
Garlic Cloves 🧄 4 cloves Freshly minced for aroma
Fresh Basil Leaves 🌿 ½ cup Packed, stems removed
Canned San Marzano Tomatoes 🍅 28 oz Crushed, no salt added
Tomato Paste 🍅 2 tbsp Smooth, no sugar added
Whole Milk 🥛 ½ cup Full-fat for creaminess
Large Egg 🥚 1 whole Room temperature
All-Purpose Flour 🌾 ¼ cup For meatball binding
Dry Breadcrumbs 🍞 ¼ cup Plain, not Italian
Extra-Virgin Olive Oil 🫒 ½ cup For browning meatballs
Dried Oregano 🍃 1 tsp Italian preferred
Ground Black Pepper 🌶️ ½ tsp Freshly cracked
Kosher Salt 🧂 1 ½ tsp Diamond Crystal preferred

The meatballs are everything here. Ground beef and pork from the butcher counter (not pre-packaged) give that authentic texture—look for good marbling. Costco or local markets usually have the best quality. If you can't find San Marzano tomatoes, any high-quality canned tomatoes work, but drain them well. The basil? Fresh is non-negotiable for that bright flavor, but if you're desperate, dried oregano at half the amount will get you close. For the meatballs, don't overwork the mixture—just combine until just mixed.

No fresh basil? Dried works at one-third the amount, but it won't be the same. Short on breadcrumbs? Crush plain crackers or panko instead. The milk in the meatballs is what makes them tender—don't skip it. For the broth, if you can't find San Marzano, any crushed tomatoes with no added salt will do. The tomato paste? Trader Joe's squeeze tubes are perfect for this—no waste and they keep forever. And trust me, the extra-virgin olive oil matters here—skip the cheap stuff.

This soup tastes even better the next day. Portion into containers for easy lunches, or freeze half for another night. The meatballs reheat beautifully—just warm gently on the stove with a splash of water or broth. Keeps in the fridge for 4-5 days or frozen for 3 months. The broth reduces as it sits, so add a splash of water or broth when reheating if it gets too thick. Serve with crusty bread that soaks up every last drop.

❤️

Why You'll Love This Recipe

  • No Fuss, Big Payoff: I swear by this soup—just brown the meats, toss in the onions and garlic, and let it simmer. Honestly, the hardest part is waiting for the basil to wilt into that rich, herby broth.
  • Umami Bomb: That combo of beef and pork? Deep, meaty satisfaction. The garlic and basil hit like a flavor tsunami—savory, bright, and impossible to stop eating.
  • Leftover Hero: This soup only gets better the next day. Pack it for lunches or freeze it—no weird textures, just that same soul-warming taste when reheated.
  • Budget-Friendly Feast: Ground beef and pork stretch for miles, and onions/garlic cost pennies. Between us, this is how I feed my family for under $10 and still feel like I’m hosting a dinner party.

Step-by-step instructions for mafia-style meatballs in tomato-basil broth

Here's how to make these legendary meatballs—juicy, flavorful, and perfect for your soup.

1

Make the Meatball Mixture

In a large bowl, combine the 1.5 lb ground beef and 0.5 lb ground pork. The beef adds richness, while the pork keeps the meatballs tender. Add the 1 whole yellow onion, finely chopped, and the 4 cloves garlic cloves, minced. Mix everything with your hands or a fork until evenly distributed.

Next, add the 0.5 cup fresh basil leaves, chopped, the 1 tsp dried oregano, and the 0.5 tsp ground black pepper. Stir well to coat the meat mixture. In a separate bowl, whisk together the 1 whole large egg, 0.5 cup whole milk, 0.25 cup all-purpose flour, and 0.25 cup dry breadcrumbs. Pour this mixture over the meat and mix gently until fully combined. The dough should hold together but not be sticky.

Finally, add the 1.5 tsp kosher salt and mix thoroughly. If the mixture feels too dry, add a splash of milk. If it's too wet, add a few more breadcrumbs. Roll the mixture into 1.5-inch meatballs—about the size of a golf ball—and place them on a plate. Cover and refrigerate for 30 minutes to firm up.

2

Brown the Meatballs

Heat 0.25 cup extra-virgin olive oil in a large skillet over medium-high heat. Once the oil shimmers, add the meatballs in a single layer, leaving space between them. Don’t overcrowd the pan—this ensures they brown evenly instead of steaming.

Cook the meatballs for 4-5 minutes per side until they're golden brown on all sides. You’ll hear a satisfying sizzle, and the meatballs should release easily from the pan. Transfer them to a plate and set aside. If the oil isn’t hot enough, the meatballs will absorb oil instead of browning—so keep the heat steady.

3

Build the Tomato-Basil Broth

In the same skillet, reduce the heat to medium and add 2 tbsp tomato paste. Stir for 1 minute until it darkens slightly and releases its rich flavor. Pour in the 28 oz canned San Marzano tomatoes and stir to combine. Bring the mixture to a gentle simmer, then add 1 cup water to help dissolve any remaining tomato paste.

Season with an additional 0.5 tsp kosher salt and 0.25 tsp black pepper. Let the broth simmer for 10 minutes to deepen the flavors. Stir occasionally, scraping up any browned bits from the bottom of the pan—these add depth to the soup.

4

Simmer the Meatballs in Broth

Return the meatballs to the skillet and pour in enough water to cover them by about 1 inch. The broth should now be halfway up the meatballs. Bring the mixture to a gentle boil, then reduce the heat to low and let it simmer uncovered for 45-50 minutes. This slow cooking ensures the meatballs stay juicy and the broth develops a rich, tangy flavor.

After 30 minutes, check the broth. If it’s too thin, simmer uncovered to reduce it slightly. If it’s too thick, add a splash of water. Stir in the 0.5 cup fresh basil leaves during the last 10 minutes of cooking. The broth should be smooth, fragrant, and deeply tomatoey—with just the right balance of acidity and sweetness.

5

Finish and Serve

Once the meatballs are fully cooked—they’ll float to the top and feel tender when pierced with a fork—remove them with a slotted spoon and set aside. Strain the broth through a fine-mesh sieve to remove any herb bits, then return it to the skillet. Taste and adjust the seasoning—you might need a pinch more salt or a splash of lemon juice for brightness.

Serve the meatballs in warm bowls of broth, garnished with extra fresh basil leaves and a drizzle of extra-virgin olive oil. Each bite should deliver juicy, savory meatballs in a bold, aromatic tomato-basil broth—just like the legendary Al Capone soup. Pair with crusty bread to soak up every last drop!

👨‍🍳

Pro Tips For Making Al Capone Soup

  • Brown the Meat Slowly: This soup isn’t about quick searing—it’s about deep flavor. Cook the beef and pork on medium-low heat for 8-10 minutes, stirring often, until they’re fully browned but not crispy. I used to rush this, and the soup always tasted flat. Patience here builds the base.
  • Finely Dice That Onion: Don’t chop the onion into big chunks—dice it into tiny, even pieces. The smaller the onion, the faster it dissolves into the soup, releasing sweetness without turning mushy. I learned this the hard way when my onions turned to gray sludge halfway through.
  • Don’t Skip the Garlic Toast: After browning the meat, push it to the side and cook the minced garlic in the same pan for 30 seconds until it just starts to smell heavenly. This step locks in flavor—no need to add extra garlic later. (Yes, even if you’re impatient like me.)
  • Add Basil at the End: Tossing in fresh basil leaves when the soup is off the heat keeps them vibrant and bright. If you add them too early, they’ll turn to mush and bleed bitterness. Save a few leaves for garnish—it makes the dish look like you actually put effort in.

Make-ahead tips for this dish

Broth Prep Ahead

Make the tomato-basil broth 2 days in advance for maximum flavor development. Simmer all ingredients (without meatballs) for 1.5 hours uncovered, then cool completely before storing in an airtight container in the fridge. The acidity will mellow, and the flavors will meld beautifully. Just reheat gently before adding the meatballs—this cuts your active cooking time by 45 minutes on serving day. 💫

Meatball Prep

Form and refrigerate the meatballs up to 24 hours ahead—this prevents them from falling apart during browning. Cover tightly with plastic wrap and store in the fridge. When ready to cook, let them sit at room temperature for 30 minutes before browning. Pro tip: Freeze cooked meatballs in a single layer on a tray before transferring to a bag for 3 months of storage. Thaw overnight in the fridge before reheating. ✨

Complete Soup Assembly

For the fastest assembly, prep all components separately and store in individual containers: broth (fridge for 5 days), meatballs (freezer for 3 months), and fresh basil (wrap in damp paper towel + plastic wrap for 3 days). On serving day, brown the meatballs fresh, then simmer in reheated broth for just 20 minutes—this maintains their texture without overcooking. The fresh basil should go in last to preserve its vibrant flavor. 🔥

Freezer-Friendly

This soup freezes exceptionally well—just package it in quart-sized freezer bags with 1-inch headspace for expansion. Label with the date (it keeps for 3 months). Thaw overnight in the fridge, then reheat on the stove over low heat for 15-20 minutes, stirring occasionally. Add a splash of water if needed to restore the right consistency. The meatballs might lose a tiny bit of texture but still taste amazing. ❄️

Leftovers Strategy

Double the recipe and freeze half immediately for future lazy dinners. The second batch tastes even better because the flavors continue developing. Store leftovers in the fridge for 4-5 days—the broth will reduce slightly, so add a splash of water when reheating. For quick lunches, portion into thermos-friendly containers with a side of crusty bread. The meatballs reheat beautifully and maintain their juiciness. 💡

Bread Pairing Prep

Make garlic bread or crusty rolls the day before serving. Store wrapped at room temperature for 2 days or in the fridge for 3 days. Toast fresh before serving to restore crispness. For extra convenience, prep individual portions of bread and freeze on a tray before bagging. Toast directly from frozen in the oven at 375°F for 8-10 minutes. This ensures you always have the perfect accompaniment ready. 🍞

Nutrition facts

Servings 6
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 14g70%
Cholesterol 155mg52%
Sodium 1250mg54%
Total Carbohydrate 22g8%
Dietary Fiber 3g11%
Sugars 12g
Protein 45g90%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why does this Al Capone soup recipe use both beef and pork?

The combination of beef and pork creates the perfect texture and flavor profile. The beef adds richness and depth, while the pork keeps the meatballs tender and juicy. This classic mix was inspired by traditional Italian-American recipes that Al Capone himself reportedly enjoyed during his time in Chicago. The pork also helps bind the meatballs together better, preventing them from falling apart during cooking.

2

Can I make this soup vegetarian?

While this recipe is designed for meat lovers, you can adapt it! Replace the ground beef and pork with mushrooms and lentils for a hearty texture. Use vegetable broth instead of water and add nutritional yeast for that umami depth. The tomato-basil broth will still shine, but the meatballs will need binding agents like flaxseed or chickpea flour instead of egg and milk. The flavor won't be identical, but it'll be delicious and satisfying.

3

How do I know when the meatballs are fully cooked?

Meatballs are done when they float to the surface and reach an internal temperature of 165°F. Pierce one with a fork—if the juices run clear (not pink) and the meat is tender, they're ready. Overcooking can make them dry, so aim for 45-50 minutes of simmering time. If they're browning too quickly, reduce the heat slightly to prevent burning.

4

What's the best bread to serve with this soup?

Crusty Italian bread or garlic toast is ideal! The sturdy crust holds up to the rich broth, while the soft interior soaks up every flavorful drop. For extra authenticity, try ciabatta or focaccia. Toast it lightly before serving to enhance its texture. If you're short on time, even a simple baguette works perfectly. The key is to choose bread that can handle the hearty broth without turning mushy.

5

Can I make this soup in a slow cooker?

Brown the meatballs first in a skillet, then transfer them to your slow cooker. Add all broth ingredients and simmer on low for 6-8 hours or high for 3-4 hours. The slow cooking enhances the flavors even more. Just be sure to check the broth consistency halfway through—add water if needed. The meatballs will stay tender, and the broth will develop a deeper, more complex taste.

★★★★★4.7(7 reviews)
Categories Soups & Stews