Preheat oven to 400ºF. Cut an X on the flat side of each chestnut and spread in a single layer in a shallow pan. Roast until tender — about 20 to 25 minutes. Remove from oven and, using a small knife, remove both the shells and the skins. Set aside
In a sauce pan over medium high heat, melt the butter. Add onions and celery and sauté until golden, about 5 minutes.
Add the chestnuts, potato, broth, cream, salt and pepper. Stir well and bring to a boil. Reduce heat and simmer, uncovered, until the soup thickens slightly, about an hour.