Preheat oven to 425. Cut cauliflower in large florets, and place in a large roasting pan. Add the shallot, then drizzle with olive oil. Sprinkle with salt and roast, covered, for 20 minutes, then stir and roast for 15 minutes longer.
While the cauliflower roasts, make the sauce. In a 2 quart pot, melt the non-dairy butter over medium heat. Take off the heat and whisk in the flour until smooth. Place over the heat and stir until the flour is sizzling and fragrant. Take off the heat and whisk in the milk gradually, whisking until very smooth after each addition.
Add the salt, nutmeg, Dijon and stir. Bring to a simmer, whisking. When it starts to bubble drop in the rosemary and stir. Cook for a minute, whisking, then take off the heat.