Heat olive oil in a large pot over medium heat. Add diced onion and sauté for 5-6 minutes until soft and translucent.
Add the chopped carrots, celery, and minced garlic to the pot. Cook for another 5 minutes, stirring occasionally, until the vegetables begin to soften and the garlic is fragrant.
Pour in the vegetable broth and add thyme, salt, pepper, and bay leaves. Bring the mixture to a boil, then reduce heat to low and simmer for 20 minutes until all vegetables are very tender.
Remove bay leaves and use an immersion blender to puree the soup until completely smooth. Alternatively, carefully transfer to a blender in batches.
Taste and adjust seasonings as needed. Serve hot, garnished with fresh herbs if desired.