Lay the bay leaf over the cut side of the onion and poke the cloves through the bay leaf and into the onion to secure the leaf in place. Put the onion into a 2-quart saucepan and add the milk. Set the saucepan over medium heat and bring to a gentle simmer. Cook without boiling for 10 minutes. Remove from the heat and strain through a fine mesh sieve. Set aside until ready to use.
Preheat the oven to 400 degrees F.
Steam the cauliflower in a steam basket inserted into a medium saucepan until just tender, about 10 minutes. Arrange the cauliflower in a shallow 2-quart casserole approximately 7 1/2 by 11-inches and set aside as you prepare the sauce.
In a 2-quart saucepan, melt 3 tablespoons of the butter. Add the shallots and garlic and saute until fragrant, about 1 minute. Add the flour to the pan and stir, using a wooden spoon, to form a blond roux. (Do not allow the mixture to brown.) Add the simmered, strained milk to the pan and whisk until smooth. Increase the heat and bring to a boil. Reduce the heat to a simmer and cook for 10 minutes, or until thickened, smooth, and creamy. Remove the pan from the heat and add the nutmeg and grated cheese, stirring until melted. Strain the sauce and pour evenly over the cauliflower.
Melt the remaining 2 tablespoons of butter in an 8-inch saute pan and add the bread crumbs. Toss well to coat. Sprinkle with a the salt and pepper and the chopped parsley. Sprinkle the bread crumbs evenly over the top of the cauliflower and bake until the top is golden brown and the sauce is bubbly, about 25 minutes.