White Bean and Escarole Soup with Chicken Meatballs

This recipe is a mashup of three of my favorite soups – white bean and escarole, Italian wedding soup, and good old chicken noodle. The idea came about a few weeks ago, when I had a craving for a big bowl of homemade soup but couldn’t decide which one to make.  Why not combine a few of my favorites into one super-soup?! This one’s got everything I want in a soup – tender chicken meatballs, veggies, creamy white beans, and a rich broth flavored with a Parmesan rind. It’s a real “meal” of a soup and one perfectly suited to these chilly, darkening days of late fall.

The chicken meatballs could be a meal on their own. In fact, I make them on their own (a little bit larger) all the time – they’re great with marinara, served over pasta or polenta. Made with chicken sausage, Parmesan, panko, and fresh parsley, they’re incredibly moist and flavorful.  They’re also a cinch to make, and if you can convince a friend or family member to help shape the meatballs, the whole process won’t take more than twenty minutes.

In this recipe, I call for raw chicken sausage.   I’m not talking about the flavored, precooked chicken sausages sold with hot dogs and brats, but raw chicken sausage, sold in links or loose in a package. Whole Foods 365 brand and Stop & Shop’s store-brand “Nature’s Promise”  are great options. (Links aren’t sponsored, just trying to help!) If you can’t find chicken sausage, plain ground chicken works, too. 

The second important ingredient here is the chicken broth. While adding chicken broth is an afterthought in a lot of soups, the flavor and richness of the broth is crucial in this one. If you have homemade broth in your freezer, by all means, use it. Or, you can do what I do and fake it. I always have a bunch of containers of organic low-sodium chicken broth in my pantry.  It can’t hold a candle to homemade broth, but for most things, it works just fine. And when I want a more flavorful broth, as I do here, I pour a few quarts into a pot, bring it to a boil, and then simmer the chicken broth, tasting every once in a while, until it has reduced (and therefore concentrated) by about 50%. Just make sure you’re using low-sodium broth – otherwise you’re going to end up with a very salty broth. I taste as I go, because every brand of chicken broth is different, and when the broth has reduced to my liking, I’ll season it with a bit of kosher salt. This is a great little trick, and while it’s more expensive than using broth right out of the box, it’s well worth it the extra cost.

Finally, the Parmesan rind. You could make this soup without it… but as long you’re buying Parmesan for grating, you might as well make sure the piece has some rind on it. Simmering a Parmesan rind in the soup gives the broth great depth of flavor and richness and is  a great use of something you might otherwise unknowingly toss!

As we head towards the end of this long, stressful, and sometimes scary year,  this is the kind of food I want. It’s comforting and cozy, like a warm hug (with lots of grated Parmesan cheese on top) and the recipe also makes a big pot of soup… plenty to freeze for later or share with friends.  If you’re feeling like I’m feeling, I hope you’ll give this one a go !

Print Recipe
4.24 from 34 votes

White Bean and Escarole Soup with Chicken Meatballs

Servings: 8 to 10


  • ½ cup panko (flaky Japanese style breadcrumbs)
  • cup whole milk
  • 1 pound raw chicken sausage or ground chicken
  • 1 large egg, lightly beaten
  • cup freshly grated Parmigiano-Reggiano cheese, plus more for serving  
  • ¼ cup minced fresh parsley, plus more for serving
  • Kosher salt and black pepper
  • 3 tablespoons olive oil, plus more as needed
  • 2 medium yellow onions, small-diced
  • 1 cup small-diced carrots (about 2 carrots)
  • 1 cup small-diced celery (about 3 celery ribs)
  • 4 garlic cloves, minced
  • 2 (15-ounce) cans white beans, drained and rinsed
  • 8 to 10 cups homemade or other good quality chicken broth, as needed
  • 1 small piece Parmesan rind (about 2 ounces)
  • 1 large head escarole, leaves washed and chopped


  • First, make the meatballs. In a small bowl, combine the panko and milk. Stir and set aside for five minutes, or until the panko has softened and absorbed the milk. Meanwhile, in a large bowl, combine the ground chicken, egg, Parmesan, parsley, 1 teaspoon salt and ½ teaspoon black pepper. Add the panko and milk mixture and mix well.
  • Coat your hands with olive oil, then begin forming the mixture into small meatballs. ( I use a heaping teaspoon or 1 ounce of the mixture for each meatball.) Whenever the mixture begins to stick to your hands, coat them with more olive oil- this will also prevent the meatballs from sticking to the pan when you cook them. You'll have about 50 meatballs in total.
  • In a large Dutch oven or other heavy pot, heat 3 tablespoons olive oil over medium-high heat. Add about a third of the meatballs, evenly spaced, and cook for 2 minutes, or until browned on the bottom. Flip and cook for an additional 2 minutes, then set aside on a paper-towel lined plate and repeat with the remaining meatballs.
  • Turn the heat to medium-low and add the onions, carrots and celery. Cook, stirring occasionally, until the onions are translucent and the carrots and celery are beginning to soften, 8 to 10 minutes. Add the garlic and cook for 30 more seconds, until fragrant.
  • Add the white beans, 8 cups chicken broth, the Parmesan rind, and 1 teaspoon salt and bring to a boil. Lower the heat and simmer uncovered for 15 minutes, stirring occasionally. Add the escarole and cook, stirring often, until wilted. Remove and discard the Parmesan rind, then add the meatballs and cook until just heated through.
  • Taste for seasonings and add additional broth to taste if the soup has become too thick. Serve hot with sprinkled with parsley and lots of grated Parmesan.
    Copyright 2020, Lidey Heuck, All Rights Reserved
  1. 5 stars
    Made this for dinner tonight, it was delicious! Can’t wait for your cookbook Lidey! Best to you!

    1. Hi Marcy!
      You can roast the meatballs, but they won’t be as crispy. I would coat them generously in olive oil and roast at 400 degrees until cooked through. Probably about 15 minutes, but I haven’t tested it to suggest an exact time.I hope that helps!

  2. Hi. So far so good. Am confused by the prosciutto comments above as I do not see it in the ingredient list. Thank you for clarifying.

  3. 5 stars
    Made this during an ice storm here inVirginia!!! It was fabulous and warmed us up. Served it with some crusty bread. This recipe is definitely a keeper!!

  4. This was very very delicious! First time using fresh turkey sausage, I used one from Wegmans in a plastic tube. Definitely adding it to my all time fave repertoire.

  5. 5 stars
    This was fabulous and a great Christmas Eve accompaniment! Thank you so uch Lidey! I love all of your recipes! Merry Christmas!

    1. Hi Lucille, I haven’t tried making this recipe with pork sausage but I don’t see why it wouldn’t work. I would probably omit the prosciutto as there will be plenty of fat in the sausage! Let me know how it goes!

  6. Tried this recipe for the first time today. 5 ⭐️ Not only is it comforting and absolutely delicious the added bonus is the comforting smell throughout the house. Thanks Lidey!

  7. 5 stars
    Really delicious!!!
    Made as directed with the exception of substituting kale for the escarole.
    Hoping it freezes well and is as good a second time around.
    Thanks Lidey!

  8. Lidey, this is noted in ingredients (4 slices prosciutto, finely chopped (2 ounces) but I’m not seeing this added in the recipe?

Leave a Reply

Your email address will not be published.

Recipe Rating