In a small saucepan over medium heat, melt the butter. Once melted, add the flour and whisk until it reaches a thick paste.
Gradually add the milk ½ cup (125 ml) at a time, whisking out any lumps. Continue to add the milk, whisking until everything is combined. Let simmer for 5-10 minutes or until it thickens.
Mix in the nutmeg, pepper, and salt. Set aside.*
For the Croissant Croque Madame:
Line a baking sheet with parchment paper and turn on your oven's broiler.
Cut the croissants in half and spread a thin layer of whole grain mustard on the inside of the top half.
Place each croissant cut side up on the baking sheet and spread ½ cup (45 g) of gruyere over both halves of each croissant.
Place 2 slices of ham on the bottom side of each croissant then put everything under the broiler just until the cheese is melted. This should take only a few minutes, but be sure to keep an eye on it so it doesn't burn. Remove from the broiler and begin cooking the eggs.
Crack the eggs into a nonstick pan over medium heat. Cook for about 3 minutes or until the white has set.* Remove from the pan and place on the bottom half of the croissant.
Close the sandwich with the top half of the croissant and pour over the béchamel sauce. Top with chives and serve immediately.
Notes
Béchamel Sauce: We recommend cooking this first, so the sandwich doesn't get cold. If the sauce is cold, just heat it over medium-low heat until warm. If you find that it's too thick, just add a bit of milk until it thins out a bit.
Eggs: We like fried eggs in our croque madame, but feel free to make the eggs however you want.