Preheat oven to 400°F. Trim and halve the Brussels sprouts. If they are extra-large, quarter them. Add them to a 9x13 casserole dish and toss them with olive oil, salt and pepper. Spread them out evenly and roast in the oven for 20 minutes.
While the Brussels sprouts are roasting, melt the butter in a saucepan and add in the shallots. Sauté for 2-3 minutes and whisk in the flour, garlic powder, smoked paprika, and nutmeg. Season with salt and pepper and cook for another minute.
Pour in the wine, whisking the entire time. Continue whisking and slowly pour in the vegetable broth. Whisk in the heavy cream and season with additional salt and pepper as needed. Cook the sauce over low heat, stirring often, until it's thickened. Add in half of the cheese and stir until melted. Remove the sauce from the heat.
Pour the sauce evenly over the roasted Brussels sprouts and sprinkle on the remaining cheese. Bake for 15 minutes or until hot, bubbly and lightly browned on top. Broil for 2-3 minutes at the end for an extra crispy topping.