This is one of those recipes that satisfies my inner Mary Poppins, making something beautiful and hearty of pantry staples and stale bread. I use really high quality canned San Marzano tomatoes, which I can find at most markets these days. You can use fresh tomatoes (since canned tomatoes seem to be the hot commodity), just blanch, peel and quarter them before adding them to the soup.
While this basic recipe makes for a more than satisfying meal on its own, there is room for interpretation. If you want to add meat to the mix, add some browned sausage to the recipe, or, use this as a receptacle for any leftover dark leafy greens, like beets tops or kale.
- 1 medium yellow onion, diced into ½” pieces
- 3/4 tsp Kosher salt, plus more to taste
- 3 tbsp olive oil, plus more for drizzling
- 3 garlic cloves, thinly sliced
- ¼ tsp chile flake, plus more for finishing
- 32 oz can of whole, peeled tomatoes
- 5 cups chicken or veggie broth
- 10 oz (½ loaf) stale sourdough bread cut/torn into 3” chunks
- 1 small sprig rosemary (optional)
- 1 ¼ cups cooked cannellini beans
- 1 cup beet greens, torn lacinato kale, or any hearty greens
- 1 cup densely packed fresh basil, stems removed, roughly torn
- Parmesan cheese (optional)
In a medium, heavy bottomed saucepan, heat 3 tbsp of olive oil over medium heat. Add onions and salt, and sweat for 8 to 10 minutes, stirring intermittently. Sauté until the onions are translucent and soft. Add the garlic and chile flake and sauté for an additional 2-3 minutes, adding a splash of water If the garlic starts to brown.
Add the tomatoes and the broth. Bring to a boil, reduce to a simmer and cook, covered, on low for 25 minutes. Stir occasionally, breaking up large pieces of tomato by smashing them with a wooden spoon against the side of the pot.
Add the bread, the sprig of rosemary, the cannellini beans and the greens to the pot. Cover and simmer on low for two minutes, or until the bread has hydrated and the greens are wilted. Remove from the heat, add the torn basil, reserving a few pretty pieces for garnish, and stir just to combine.
To serve, top with reserved basil leaves, an extra pinch of chile flake, and drizzle with olive oil. Ladle the soup into individual bowls and top with freshly grated parmesan cheese.