This time of year is just at a whole other level of busy, am I right? With holiday preparations, parties to attend, and perhaps parties to host, it can be so incredibly easy to let menu planning and home cooked meals fall by the wayside. I urge you to stick with it, even when it feels so much more appealing to just grab take out instead. The food is nearly guaranteed to taste better and is almost certainly better for you, especially with recipes like this tomato cannellini bean soup.

Though this isn’t a weeknight meal, it is a hearty and satisfying meatless main dish that is heavy on veggies. Even better, it reheats beautifully, meaning that it would be well worth your time to prep a double batch and stock your fridge for the week. You’ll have a great option ready to go at a moment’s notice whether for healthy work lunches or a quick dinner in a pinch that you can feel good about. Oh and FYI, they pair perfectly with the rosemary olive oil rolls!

  • Yield about 6 servings


For the beans: 

  • 1 cup dried cannellini beans, soaked overnight*
  • 1 onion, quartered through the root
  • 4 cloves garlic, smashed
  • 1 bay leaf
  • Kosher salt

For the soup: 

  • ¼ cup olive oil, divided
  • 1 (28 oz.) can whole peeled tomatoes, drained
  • ½ tsp. red pepper flakes
  • Kosher salt
  • 1 onion, coarsely chopped
  • 1 bulb fennel, cored and chopped
  • 4 cloves garlic, thinly sliced
  • 4 cups vegetable stock
  • 1 bunch Swiss chard, stemmed and chopped


  • 01

    In a large pot or Dutch oven, combine the beans, onion, garlic and bay leaf. Add enough water to cover by 2 inches. Bring to a simmer over medium heat. Add a few pinches of salt, lower the heat to medium-low and continue to cook just at a simmer until the beans are creamy but still hold their shape, about 35-45 minutes. Remove from the heat and let the beans cool in the cooking liquid. Discard the bay leaf.

  • 02

    In a large pot or Dutch oven over medium-high, warm 2 tablespoons of the olive oil. Add the tomatoes, red pepper flakes and a pinch of kosher salt. Cook without stirring until caramelized and beginning to blacken, about 5 minutes. Break up the tomatoes, scraping the bottom of the pot, and continue to cook until the tomatoes are caramelized on all sides, about 5 more minutes. Remove to a plate.

  • 03

    Heat the remaining 2 tablespoons of olive oil in the pot over medium heat. Add the onion, fennel and garlic and cook, stirring frequently, until the vegetables are softened and beginning to brown, about 8 minutes. Add in a small amount of the veggie stock and stir, scraping the browned bits from the bottom of the pot. Drain the beans and add to the pot along with the broth and the tomatoes. Bring to a simmer. Season to taste with salt. Cook at a low simmer until the flavors meld, about 40 minutes. In the last few minutes of cooking stir in the chard. Cook just until wilted. Remove from heat and serve warm.

  • 04

    *Note: If you forget to soak beans overnight (me, always), you can instead do the quick soak portion of dried bean prep to get the same effect.