Preheat the oven to 350 degrees F.
Add the trimmed and halved Brussels sprouts to a medium frying pan with the salt and water. Bring to a boil, then cover and steam for 5 minutes. Drain and place in a 8x6 inch baking dish. Set aside.
Dry the pan that you used to steam the brussels sprouts, then add the butter and shallots. Cook over medium-high heat for 3 minutes, or until the shallots have softened. Add the garlic and cook for another 30 seconds.
Push the garlic and shallots to the edge of the pan and add the four to the centre. Use a whisk to incorporate the flour into the butter. Cook for 2 minutes, stirring often. Once the flour has toasted, gradually add the milk and cream, and whisk until thickened. Add the pepper, nutmeg, ½ cup of Swiss cheese and the Parmesan cheese. Mix to combine.
Pour the cheese sauce over the brussels sprouts and mix to combine. Top with the remaining ½ cup of Swiss cheese, then bake, uncovered, for 30 minutes.
While the gratin is baking, make the toasted breadcrumbs. Heat the oil and butter in a small frying pan. Once melted, add the breadcrumbs. Cook over medium heat, stirring often, to prevent burning. Remove the breadcrumbs from the heat once they are golden brown and evenly toasted. Place in a separate bowl to cool.
Once the gratin is cooked, turn the broiler to high and broil for 3 to 4 minutes, until the cheese is bubbling and golden. Remove from the oven and top with the toasted breadcrumbs. Serve immediately and enjoy!