Ingredients
Equipment
Method
Sauté the vegetables
- Heat the olive oil in a large pot over medium heat until shimmering, about 30 seconds. The oil should look loose and glossy, not smoky.
- Add the onion, carrots and celery and cook for 6 to 7 minutes. Stir often until the vegetables soften and the onion looks translucent.
- Stir in the garlic, Italian seasoning and red pepper flakes and cook for 1 minute. The garlic should smell fragrant without browning.
Simmer the soup
- Add the tomatoes, cannellini beans, broth, Parmesan rind and bay leaf. Scrape the bottom of the pot so browned bits release into the broth.
- Bring to a boil, then simmer for 20 minutes. Look for steady small bubbles that gently break the surface.
- Mash a few beans against the side of the pot to thicken the broth slightly. The soup should look a bit creamier and thicker where the beans were mashed.
- Stir in the kale and simmer for 5 minutes, until tender. The kale should turn bright green and soften but not become mushy.
- Remove the Parmesan rind and bay leaf. Skim them out and discard so the soup stays smooth.
Finish and serve
- Stir in the lemon juice, salt and pepper and serve immediately. Taste and ensure the seasoning balances the broth before plating.
- Serve each bowl with grated Parmesan cheese and crusty bread. Add the cheese to the hot soup so it melts slightly.
Notes
For the creamiest texture, mash the beans after the 20-minute simmer and before adding the kale, using the side of the pot to break them down. Store leftovers in an airtight container in the fridge for up to 4 days; reheat gently on the stove or in the microwave until hot. Freezing is yes—cool completely first and freeze up to 3 months, then thaw and reheat, adding a splash of broth if it thickens. If you want a dairy-free version, skip the Parmesan rind and add 2 to 3 tbsp nutritional yeast or a parmesan-style plant-based substitute for savory depth.
