Heat the olive oil in a large pot over medium heat. Add the diced onion and sauté for about 3-4 minutes until it becomes translucent.
Add the minced garlic, diced carrots, and diced celery. Cook for another 5-6 minutes, stirring occasionally, until the vegetables are tender.
Pour in the vegetable broth, then add the drained white beans, dried thyme, dried rosemary, bay leaf, and season with salt and pepper to taste. Bring the mixture to a boil.
Once boiling, reduce the heat and let it simmer for about 20 minutes to allow the flavors to meld together.
Remove the bay leaf from the soup. Using a blender or immersion blender, blend a portion of the soup (about half) until smooth for a creamier texture.
Stir in the chopped spinach and cook for an additional 5 minutes until the spinach is wilted.
Finally, stir in the lemon juice for brightness and adjust seasoning if necessary.
Serve warm, garnished with a drizzle of olive oil if desired.