In a saucepan or Dutch oven, heat the oil over medium-high heat. Add the onion and cook until tender, about 5 minutes. Add the garlic and cook for 1 minute until aromatic. Add the carrots, yams, 1 teaspoon salt, and 1/2 teaspoon pepper. Cook for 5 minutes until slightly softened. Add the stock and water and bring to a boil. Reduce the heat and simmer until the carrots are tender, about 25 minutes. Using a ladle, remove 2 cups of the cooking liquid and reserve. Using an immersion blender, puree the mixture until slightly chunky, adding the reserved cooking liquid, 1/4 cup at a time, if needed. Season with salt and pepper, to taste.
Cook's Note: The carrot mixture can also be drained in a colander and working in batches, blended in a food processor or blender.