Clean sprouts and remove any marked outer leaves. Cut tough bottoms off and cut into half or quarters.
Bring pot of water to a boil. Drop in Brussels sprouts and once water returns to a boil cook for 3 minutes. Drain and pour into an iced water bath.
Clean and slice leeks. Saute gently in butter until soft. Add flour and cook for a few minutes, then add milk and simmer, stirring until thickened.
Remove from heat and add Dijon, sour cream and goat cheese. Stir until melted and well combined. Taste and season with salt and pepper.
Drain Brussels sprouts well and add to cream sauce. Chop spinach and add to mixture. Pour into shallow baking dish.
Prepare topping by melting butter, then adding breadcrumbs and Parmesan. Spoon over top of vegetable mixture.
Bake at 350 degrees for about 30 minutes until bubbling and top is browned.