Melt butter with olive oil in a large pot over medium heat. Add diced onion and celery, and cook until they are soft and translucent, about 4 to 6 minutes.
Stir in minced garlic and thyme or parsley, cooking until aromatic, roughly 10 seconds. Add the chopped carrots to the pot.
Pour in water and vegetable broth, and bring the mixture to a boil. Lower the heat to achieve a gentle simmer, and cook until carrots are tender, about 25 minutes.
Carefully blend the soup in batches until smooth. Return to the pot, and if desired, mix in half-and-half. Season with salt and pepper.