Peel the shallots and slice into thin slices. Separate the slices into rings and set aside. Line a baking sheet with paper towel and set aside. In a deep saucepan over medium high heat, add enough vegetable oil to come up 1-inch in the pan. Heat the oil to around 300°F.
Carefully add the shallot slices to the oil - the oil will bubble up once the shallots are added. Turn the heat down to medium. Slowly fry the shallots, stirring occasionally, until golden brown, about 8 to 12 minutes.
Remove the fried shallots with a slotted spoon and spread out on the prepared baking sheet. Season with kosher salt and set aside.
Preheat the oven to 400°F. Trim the brussels sprouts, cutting any large ones in half. In an oven safe skillet, heat the butter and oil over medium high heat. Add the sprouts and sauté for about five minutes. Stir the sprouts regularly so they don't burn. This will give them a little colour and start the cooking process.
Combine the flour, 1 tsp kosher salt, nutmeg, and pepper with the heavy cream. Whisk together.
Remove the skillet from the heat and cover with the shredded Gruyère and Parmesan cheeses. Pour the cream evenly over the sprouts. Bake for 15 to 20 minutes until the sprouts are tender and golden brown on top.
To serve, top the sprouts with the crispy fried shallots and enjoy!