Make the Base Sauce: In a medium, heavy-bottomed saucepan over low heat, melt the butter. Gradually whisk in the ¾ cup / 90g (3.17 oz) of flour until a soft ball forms.
Continue cooking this roux for 3-4 minutes, stirring constantly. Slowly pour in the warm milk while whisking vigorously to create a very thick and smooth sauce.
Create the Filling: Remove the saucepan from the heat. Immediately beat in the single raw egg until fully incorporated.
Fold in the finely chopped hard-boiled eggs, grated Parmesan, chopped parsley, salt, pepper, nutmeg, and cayenne.
Finally, stir in the ⅔ cup / 80g (2.82 oz) of fine bread crumbs to create a stiff, workable mixture.
Shape the Croquettes: Scoop rounded teaspoonfuls of the mixture.
Using your hands, roll each portion into a small cylinder or ball, then lightly coat it in the ½ cup / 60g (2.12 oz) of flour for dredging.
Double-Bread for Crunch: Dip each floured croquette into the two beaten eggs, ensuring it's fully coated.
Let any excess drip off, then roll it thoroughly in the 1½ cups / 180g (6.3 oz) of bread crumbs. For an extra-crispy shell, repeat the process: dip it back into the egg and roll it in the crumbs a second time.
Chill and Fry: Place the breaded croquettes on a tray and chill for at least 30 minutes to help them firm up.
Heat about 3 inches / 7. 5 cm of vegetable oil in a deep pot to 350°F / 175°C.
Fry the croquettes in small batches until deep golden brown, about 2-3 minutes.
Do not overcrowd the pot.
Drain and Serve: Remove the croquettes with a slotted spoon and drain them on paper towels or a wire rack.
Serve hot with your favorite dipping sauce, like a thick chutney or creamy aioli.
Don't skip the chilling step! Refrigerating the croquettes for at least 30 minutes is essential to help them firm up and prevent them from falling apart in the hot oil.