Adapted from Thomas Keller's recipe in Bouchon
Preparing the cauliflower Remove the leaves from the base of the stem and cut out the core. Chop the florets into bite-size pieces and remove the stems, placing them in a small bowl. Cut away the tough exterior of the core as necessary, then chop it into chunks and combine with the stems. Process the stem and core pieces in a food processor until finely minced (but not pureed!). You should have between 1 and 2 cups, if not, chop up some florets.
Bring a pot of water to a boil, add salt and vinegar4. Blanch the florets for 2 minutes, then strain and place in an 8x8 casserole dish. Sprinkle with salt to taste.
Preparing the sauce In the pot or a large saucepan, melt butter until foamy. Add onions and garlic, cook until translucent. Season with salt, pepper, thyme, parsley, curry powder and chili flakes (if using horseradish, don't add it). Add the minced cauliflower core bits and water, then simmer for 5 to 6 minutes. Most of the water should evaporate and the cauliflower will be tender.
Stir in the half-n-half and simmer for another 2 minutes. Remove from the heat and allow to cool for a few minutes. If using horseradish, add it now. Pour the mixture into a blender and puree until smooth. Taste and add salt if necessary.
Preparing the gratin Pour the pureed sauce over the cauliflower florets evenly. It should come about halfway up the side of the dish.
If you want, you can stop here and refrigerate this for up to an entire day. The flavors will blend together and it will be even better. Just don't put the cold dish into a hot oven - let it come up to room temperature first.
Preheat the oven to 425F.
Sprinkle the gratin with bread crumbs and cheese. Bake for 15 minutes. Test the center (if you chilled it) with a metal skewer or a butter knife - if you touch the tip to your lip or tongue, it should feel hot.
Finally, broil for 2 minutes to evenly brown the top. Serve.