Sauté the aromatics (optional but recommended): In a skillet over medium heat, warm a tablespoon of olive oil. Add onion, carrot, and celery.
Cook 5–7 minutes until softened. Stir in garlic for 30 seconds. Transfer everything to the crockpot.
Add the base ingredients: Pour in broth and tomatoes.
Add two cans of beans, rosemary, Italian seasoning, bay leaf, salt, pepper, and red pepper flakes if using. Stir gently.
Create the creamy texture: Mash the remaining can of beans with a fork or blend with a splash of broth until mostly smooth. Add this to the crockpot.
It thickens the soup without extra cream.
Slow cook: Cover and cook on LOW for 6–8 hours or HIGH for 3–4 hours until the vegetables are very tender and flavors are well combined.
Stir in greens and cream: About 10 minutes before serving, remove the bay leaf and rosemary stem. Stir in kale or spinach, cream (or coconut milk), and Parmesan. Let the greens wilt and the cheese melt.
Finish and season: Stir in lemon juice.
Taste and adjust with more salt, pepper, or red pepper flakes. If it’s too thick, add a splash of warm broth or hot water.
Serve: Ladle into bowls. Top with a drizzle of olive oil, extra Parmesan, and parsley.
Serve with warm, crusty bread.