In a medium saucepan over medium heat, melt the butter. Once butter is melted, add the flour into the pot and whisk until a paste forms.
Allow the paste to cook for about 2 minutes, stirring every 20 seconds or so.
After 2 minutes, pour the milk into the pot. Whisk until the milk thickens enough that you can see whisk marks left behind in the roux after your whisk moves through it.
Once thickened, remove from heat. Add the salt, black pepper, nutmeg, and dijon mustard into the bechamel and whisk to combine. Set aside. This is your bechamel sauce.
Preheat your oven to 425 degrees.
On a cookie sheet, lay 4 pieces of bread. Spread about 2 tbsp of bechamel onto each piece of bread.
Add about 1 ounce of shredded cheese on top of the bechamel. Then place 2 pieces of ham on each sandwich and finally, another piece of bread on top.
On top of the top piece of bread, spread another 2 tbsp of bechamel sauce. On top of the bechamel, sprinkle another 1 oz of gruyere cheese.
Place the cookie sheet in the oven for about 4-5 minutes, or until the cheese melts completely.
While the sandwiches are in the oven, make 4 eggs over easy.
Once the cheese has melted on the sandwiches, remove the cookie sheet from the oven. Move the top rack of the oven up until it’s directly under the broiler, then turn the oven to a high broil. Put the cookie sheet of sandwiches back on the top rack and broil until the cheese is bubbly and starts to toast. Watch your sandwiches closely at this point, as broiling can cause them to burn easily.
When the cheese is toasted, remove the sandwiches from the oven. Top each sandwich with an egg over easy. Cut with a fork to eat. Enjoy!