Soups & Stews
This boulette soup recipe delivers crispy golden meatballs simmered in a rich tomato-basil broth that tastes like a homey Italian restaurant. š The secret lies in the meatball techniqueāusing breadcrumbs and egg for structure while achieving that perfect crackly exterior without sacrificing tenderness inside.
I've perfected this version after years of testing, and it's become a weekly staple in my kitchen.
The broth builds flavor through slow simmering, where aromatics like garlic, onion, and celery meld with canned tomatoes and herbs to create depth.
What makes this recipe special is the balance: the meatballs stay crispy even after hours of simmering, thanks to a quick pan-sear before adding them to the broth. This two-step method ensures they hold their shape while maintaining that coveted texture.
By the time you serve this soup, you'll have a steaming bowl of comfort food with crispy meatballs that pop with every bite, all floating in a velvety tomato broth infused with fresh basil.
The aroma alone will have everyone gathering around the table, and the first spoonful delivers on that restaurant-quality promise. Perfect for chilly evenings or when you need a hearty meal that feels special.
Serve with a sprinkle of fresh parsley and crusty bread to soak up every last drop of that flavorful broth. The recipe scales easily for crowds, and leftovers reheat beautifullyāthough I doubt they'll last that long. Let's get cooking!
Ingredients for boulette soup
Golden meatballs and aromatic brothājust 15 ingredients for restaurant-style boulette soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef š„© | 1 ½ lb | 80/20 fat ratio for juiciness |
| All-Purpose Flour š¾ | ½ cup | For breadcrumb mixture |
| Fresh Breadcrumbs š | ½ cup | Pulse dry bread in food processor |
| Large Eggs š„ | 1 whole | Room temperature for best binding |
| Fresh Parsley šæ | ¼ cup | Finely chopped, stems included |
| Garlic Cloves š§ | 3 cloves | Minced for meatballs and broth |
| Yellow Onion š§ | 1 whole | Diced, yellow or white |
| Celery Stalks š„¬ | 2 whole | Diced, stringy parts removed |
| Canned Crushed Tomatoes š | 2 cups | San Marzano preferred |
| Vegetable Broth š§ | 4 cups | Low-sodium preferred |
| Fresh Basil Leaves šæ | ¼ cup | Chopped, for broth |
| Olive Oil š« | 2 tbsp | Extra-virgin for frying |
| Kosher Salt š§ | 1 ½ tsp | Adjust to taste |
| Black Pepper š¶ļø | ½ tsp | Freshly ground |
| Dried Oregano š | ½ tsp | Italian blend preferred |
The beef is non-negotiable hereā80/20 fat ratio makes the meatballs juicy and crispy. Costco or Trader Joe's usually have good prices, but any grocery store's ground beef works. For the breadcrumbs, fresh is keyāpulverize stale bread in a food processor for finer texture. If you're in a pinch, panko works too, but it's heavier. The parsley and basil? Fresh is bestādried just won't cut it for that bright flavor. Look for vibrant green leaves at the store, not wilted bunches.
No San Marzano tomatoes? Any good-quality crushed tomatoes will doājust check for no added salt. Short on vegetable broth? Water plus a bouillon cube works in a pinch, but you'll lose some depth. The olive oil matters for that pan-searāextra-virgin gives the best flavor, but regular olive oil is fine if that's what you've got. Want extra crispiness? Add a tablespoon of cornstarch to the breadcrumb mix. And if you're making a big batch, double the parsleyāit keeps the meatballs bright after simmering.
This soup tastes even better the next dayāhonestly, it's a crime to eat it fresh. Keeps for 4-5 days in the fridge, and freezes beautifully for 3 months. I always make a double batch because it disappears fast. For serving, crusty bread is a mustāsoak up that broth like a pro. And if you've got leftovers, stir in a splash of milk or cream when reheating to keep the meatballs from drying out.
Why You'll Love This Recipe
- Hereās what sold me: the boulettes get that perfect crust from the breadcrumbs, but the inside stays juicy. Add a splash of broth, and suddenly youāve got a soup thatās rich, satisfying, and somehow still lightālike a hug in a bowl.
- No-Fuss Mix-In: I swear by the breadcrumb trickājust toss in the flour, egg, and crumbs, then roll. No fancy shaping, no stress, and the texture? Chefās kiss. The ground beef keeps it hearty while the parsley adds that bright finish without extra effort.
- Crispy-Creamy Magic: Hereās what sold me: the boulettes get that perfect crust from the breadcrumbs, but the inside stays juicy. Add a splash of broth, and suddenly youāve got a soup thatās rich, satisfying, and somehow still lightālike a hug in a bowl.
- Weeknight to Potluck: Between us, this is my go-to for lazy nights and when I need to bring something to a gathering. Double the batch, freeze half, and reheat laterāno one will guess itās not fresh. (Yes, even on a Tuesday night.)
Step-by-step instructions for boulette soup
Here's how to make hearty boulette soup with golden meatballs and rich tomato-basil broth.
šØāš³ Step 1: Make the Meatball Mixture
In a large bowl, combine the 1.5 lb ground beef, 0.5 cup all-purpose flour, 0.5 cup fresh breadcrumbs, 1 whole large egg, 0.25 cup finely chopped fresh parsley, 3 minced garlic cloves, 1.5 tsp kosher salt, 0.5 tsp black pepper, and 0.5 tsp dried oregano. Mix gently with your hands until just combinedādon't overwork the mixture or the meatballs will turn tough.
I like to use my hands for this step because it helps distribute the fat evenly. The mixture should hold together when pressed but still feel slightly loose. If it's too sticky, add a little more breadcrumbs. Cover and refrigerate for 15 minutes to firm upāthis makes rolling easier and gives better texture.
š³ Step 2: Cook the Boulettes Until Crispy
Heat 2 tbsp olive oil in a large skillet over medium-high heat until shimmering. Roll the chilled meatball mixture into 1.5-inch balls (about 12-14 total) and carefully place them in the hot oil. Cook undisturbed for 3-4 minutes until golden brown on the bottom, then gently flip and cook another 3-4 minutes until golden on all sides.
Don't crowd the panācook in batches if needed. The meatballs should develop a deep golden crust and internal temperature of 160°F. Remove them and set aside on a paper towel-lined plate to drain excess fat. Real talk: this crispy exterior is what makes boulette soup special.
š³ Step 3: SautĆ© the Vegetables
In the same skillet (no need to clean itāthe browned bits add flavor), add 1 diced yellow onion, 2 diced celery stalks, and 2 tbsp fresh olive oil. Cook over medium heat for 5-6 minutes until softened and slightly caramelized. Add 3 minced garlic cloves and cook for 30 seconds until fragrant.
Here's where the flavor buildsādon't rush this step. The vegetables should release their moisture but still retain some texture. If they start sticking, add a splash of vegetable broth to deglaze. This aromatic base is the foundation of your soup.
š„ Step 4: Build the Tomato-Basil Broth
Pour in 2 cups canned crushed tomatoes and 4 cups vegetable broth, scraping up any browned bits from the bottom of the pan. Add 0.25 cup chopped fresh basil leaves and bring to a gentle simmer over medium-low heat. Let it cook uncovered for 10 minutes to meld the flavors.
Season with additional kosher salt and black pepper if needed. The broth should be rich and slightly thickened but still liquid enough to coat the back of a spoon. I like to taste it at this stage to adjust seasoningāthis is your chance to make it perfect.
š„ Step 5: Finish and Serve
Return the crispy meatballs to the skillet and simmer together for 5-7 minutes until heated through. The meatballs should be hot in the center and the broth should be infused with their savory flavor. Ladle into bowls and serve immediately with crusty bread or a sprinkle of fresh parsley.
Each bite should deliver that perfect contrastātender, juicy meatballs with crispy edges floating in a warm, aromatic tomato-basil broth. The secret is keeping those meatballs crispy while letting them soak up just enough broth to be flavorful, not soggy. Enjoy while warm!
Pro Tips For Making Boulette Soup
- CHILL THE MEAT: Mix your ground beef with ice cubesāyes, really. I used to skip this, and the boulettes would turn greasy and fall apart when simmered. A handful of ice in the bowl keeps the fat firm enough to bind properly, and the cold shock tightens the texture before cooking.
- PULSE THE BREADCRUMBS: Donāt just dump breadcrumbs into the mixāpulse them in a food processor with the parsley first. This distributes the herbs evenly and cuts down on the gritty texture that ruins the smoothness of the boulette. A 3-second burst is all it takes.
- SIMMER GENTLY: Boulettes need a slow startābring the broth to a barely simmer, then drop them in. Iāve seen too many people boil them, and they either disintegrate or turn rubbery. A lazy, steady simmer (just bubbles breaking the surface) keeps them tender without falling apart.
- EGG TRICK: Separate the eggs, whip the whites to stiff peaks, then fold them into the meat mixture last. This adds lightness without making the boulettes dense. (I know itās extra work, but the difference in texture is worth it.)
Flavor customization for this dish
Spicy Kick
Add 1 tsp cayenne pepper or 2 tbsp hot sauce (like Tabasco) to the broth for heat lovers. For balanced spice, stir in 1 tbsp honey or maple syrup after simmering.
I like adding a pinch of red pepper flakes to each bowl at serving time for customizable heat. š¶ļø
Creamy Twist
Stir in ½ cup heavy cream or ½ cup whole milk during the final 5 minutes of simmering for a velvety texture. For extra richness, add ½ cup grated Parmesan cheese at the end. This works especially well if you prefer a milder version of the classic recipe.
Herb Variations
Swap out basil for thyme or rosemary in the broth for earthy depth. I love adding 1 tbsp fresh oregano or 1 sprig fresh sage while simmering. For a Mediterranean touch, add 1 tsp dried marjoram with the oregano. Fresh herbs brighten the flavor after reheating.
Umami Boost
Enhance the broth with 1 tbsp soy sauce or 1 tsp fish sauce for deeper umami flavor. For a vegetarian option, add 1 tbsp miso paste during the final 10 minutes of simmering. These additions work especially well if you're serving the soup to guests who appreciate complex flavors.
Vegetarian Option
Replace ground beef with 1.5 lb lentils or 1.5 lb crumbled tempeh for a meat-free version. Use 1 tbsp nutritional yeast to add a cheesy, umami note. The texture will differ but still deliver satisfying heartiness. I've had great results with mushroom-based meatballs too.
Regional Adaptations
For a French-inspired version, add 1 bay leaf and ½ cup white wine to the broth. In Italian-style, include 1 tsp fennel seeds in the meatball mixture. The French version works beautifully with crusty baguette, while the Italian version pairs well with garlic bread. šŗļø
Nutrition facts
Frequently asked questions
Why do the meatballs need to be pan-seared before simmering?
Pan-searing first creates that signature crispy exterior that makes boulette soup special. The initial cook builds a golden crust that stays intact even after simmering, while the internal temperature reaches 160°F for safe eating. Skipping this step often results in soft, soggy meatballs after simmering.
Can I make this soup ahead of time?
This soup actually tastes better the next day as the flavors meld together. Store in an airtight container in the fridge for 4-5 days or freeze for 3 months. When reheating, add a splash of water or broth to prevent the meatballs from drying out. The crispiness will soften slightly but still be delicious.
What's the best way to keep the meatballs crispy while simmering?
The secret is the two-step cooking method: pan-sear first to create the crust, then simmer gently. Avoid boilingāthe gentle simmer prevents the meatballs from absorbing too much liquid. If they start looking soggy, remove them and finish cooking separately for 2-3 minutes before adding back to the broth.
Can I use ground turkey or chicken instead of beef?
Yes, but expect slightly different results. Ground turkey (especially dark meat) works well and is leaner, but it may dry out faster. For chicken, use 1 lb ground chicken thighs (not breasts) and add 1 extra tablespoon of olive oil to the pan. The flavor will be milder but still deliciousājust season generously with extra herbs and garlic.
How do I fix overly greasy meatballs?
If your meatballs release too much fat during cooking, try these fixes: Use 80/20 ground beef (not leaner), pat the raw meatballs dry before cooking, and avoid overcrowding the pan. For already-cooked meatballs, blot them with paper towels to remove excess fat. The broth may need skimming if it becomes too oily during simmering.
