In a small saucepan, melt the butter over medium heat. Add the flour and stir continuously for 2-3 minutes to create a smooth roux with no lumps.
Gradually whisk in the milk, a little at a time, stirring constantly until all the milk is incorporated and the sauce is smooth.
Bring the sauce to a gentle boil, then remove it from the heat. Season with freshly grated nutmeg and sea salt to taste. Cover the béchamel with a lid or cling film to prevent a skin from forming until ready to use.
Assemble the Sandwiches:
Lay out 4 slices of bread on a cutting board. Spread 1 teaspoon of Dijon mustard evenly over each slice, making sure to reach the edges.
Place 2 slices of ham and a portion of the Gruyère cheese on each mustard-covered slice.
Top with the remaining 4 slices of bread to form 4 sandwiches.
Cook the Sandwiches:
In a large sauté pan, melt a knob of butter over medium heat. Add 2 sandwiches to the pan and cook for 2-3 minutes on each side, or until golden brown and crispy.
Transfer the browned sandwiches to a baking tray. Repeat with the remaining sandwiches, adding more butter as needed.
Bake the Sandwiches:
Spread a layer of béchamel sauce over the top of each sandwich, extending to the edges.
Top each sandwich with the remaining Gruyère cheese.
Place the baking tray in the preheated oven and bake for 4-5 minutes, or until the cheese is melted and bubbly.
Serve:
Serve the croque monsieur hot, straight from the oven.
Notes
Variation: To make a Croque Madame, top each sandwich with a fried egg before serving.