Heat olive oil in a medium saucepan over medium heat. Add onion and garlic and cook until tender, 6 to 8 minutes. Add ginger, turmeric, cinnamon, cardamom, and cloves and cook until fragrant, about 1 minute. Add carrots, apple, squash, and 3 cups water. Bring to a boil; cover partially and reduce to a simmer. Season with salt and pepper.
Cook until vegetables are tender, about 20 minutes. Let cool slightly.
Working in batches, puree until smooth in a blender. Adjust seasoning, if necessary.