Begin by making your crispy shallot topping. In a small saucepan over medium-high heat, heat oil until it registers 275°F on a deep-frying thermometer. Add shallots and cook, stirring, until light golden brown, about 8 minutes. Using a slotted spoon, transfer shallots to a paper-towel-lined plate to drain. Increase heat to high and place a fine-mesh sieve over a heatproof bowl. When oil reaches 350°F on the thermometer, add the fried shallots and cook just until they are crisp and well-browned, a few seconds, watching carefully so they do not burn. Immediately pour oil and shallots through sieve to stop cooking, then transfer shallots to paper-towel-lined plate to drain. Shallots will keep in an airtight container at room temperature for 1 day.
Heat the oil in a stockpot or large casserole over medium heat. Add the onion, leek, apples, celery root, bay leaves, thyme, nutmeg and salt and pepper to taste and cook, stirring occasionally, for about 10 minutes, or until the onions and leeks are soft but not browned. Add the chestnuts and chicken stock and bring to the boil, then lower the heat to a simmer and cook, skimming the surface regularly, for 35-40 minutes, or until the chestnuts can be mashed easily with a fork. Add the heavy cream and simmer for 5-10 minutes more, then remove from the heat and discard the bay leaves and thyme.
Puree the soup until smooth using an immersion blender, then pass it through a fine-mesh strainer. You should have about 2 quarts soup at the point. If you have more, or if you think the soup is too thin -- it should have the consistency of a light cream soup - simmer it over medium heat until slightly thickened. Taste and, adjust the seasoning if necessary. Serve soup warm, top with shallots just before serving.
adapted from recipes by Daniel Boulud and the New York Times