Start by heating the olive oil in a large pot, on the stove, over medium-low heat.
Sauté the onions, garlic, and shallots in the olive oil for, about 3-4 minutes.
Then, adding the carrots and celery and sauté for another 7-10 minutes. This is really important to ensure that the flavors build.
Rinse and drain your cannellini beans, and add them to the pot along with the bay leaves, Italian seasoning, red pepper flakes, vegetable broth, salt, and pepper.
Bring your mixture to a boil, then reduce the heat to low, cover, and simmer for another 15 minutes.
Remove the cover to pull out and discard the bay leaves.
Next, transfer two cups of the soup to a high-speed blender and blend so it gets creamy.
Return your soup to the pot and stir generously.
Add in the spinach and stir until it's wilted.
Garnish your soup with some fresh herbs and a slice of crusty bread; serve, and enjoy!