Heat olive oil in a large pot over medium heat. Add diced onion, carrots, and celery, stirring occasionally for 5 minutes until vegetables soften and become fragrant.
Add minced garlic and cook for 1-2 minutes, stirring constantly to prevent burning while releasing aromatic oils. The mixture should smell incredible at this point.
Pour in vegetable broth and add drained white beans, bay leaf, thyme, rosemary, and red pepper flakes. Bring to a boil, then reduce heat and simmer for 10 minutes to allow flavors to meld beautifully.
Stir in heavy cream and fresh spinach, cooking 2-3 minutes more until spinach wilts completely into this comfort soup. Season with salt and black pepper to taste.
Remove bay leaf and use an immersion blender to puree half the white bean soup for creamier texture while leaving some beans whole. This creates the perfect balance between smooth and chunky consistency.
Return the pot to low heat and simmer for 5 final minutes, stirring occasionally. Taste and adjust seasonings as needed before serving your cozy bean soup creation.