In a heavy pan, over medium-high heat, heat the butter and oil for about 2 minutes.
Add the diced onion; sauté for a few minutes until it just starts to color; then add a pinch of salt and the nutmeg; don't add too much salt, as the Serrano ham is already salty.
Add the diced ham; sauté for 30 seconds; then add the flour and stir continuously until the flour turns light brown; don't stop stirring, or the flour will burn.
When the flour changes color, gradually add the milk, stirring constantly; it should take about 15 – 20 minutes to add it all.
Turn off the heat and let the dough cool to room temperature.
Place the croquette dough inside of a buttered bowl and cover with plastic wrap, making sure the plastic touches the surface of the dough to prevent a skin from forming; refrigerate for at least 4 hours, but preferably overnight.
To make the ham croquettes, remove from the refrigerator and shape them into little logs with two spoons, or pipe the mixture with a pastry bag.
Using a medium skillet, heat a pan of olive oil on the stove.
Bread the croquettes by tossing them in flour, rolling them in beaten egg, and then coating them with the breadcrumbs.
Fry the ham croquettes in the hot oil for 5 minutes, turning them halfway through so they brown evenly.
Drain on paper towels to catch excess grease; let them cool for a few minutes; best if eaten immediately.