Heat a sauté pan over medium heat. Add butter and olive oil and when butter is melted and oil is warm, add onion. Sauté onion until softened and translucent, about 5 minutes. Add ¼ cup flour and whisk until browned and nutty, one to two minutes.
Very slowly whisk in milk, a little at a time to avoid a lumpy sauce. Season with a little salt, pepper and a pinch of nutmeg (remember that the ham is salty, so go easy on the salt at first). Continue to whisk constantly until sauce has thickened, 10-15 minutes. When sauce has thickened, stir in ham. Taste and add more seasoning if needed.
Pour sauce into a baking sheet and allow to cool, then refrigerate for at least 3 hours (can also be done the day before cooking).
When ready to cook, preheat oven to 200°F and prepare a baking sheet fitted with a cooling rack. This is for keeping the croquettas warm after frying until you are ready to serve.
Prepare a breading station by whisking eggs in one dish and placing breadcrumbs into a shallow dish, and ½ cup flour in another dish. Shape the dough into 1-2 tablespoon sized, football shaped balls. Roll in the flour, then in the egg, then in the breadcrumbs.
In a heavy pot or deep fryer, bring oil to 350°F degrees.
Add up to six, one at a time, into the oil and fry until golden brown, 2-3 minutes. When removing from oil, place onto prepared rack and leave in the warm oven until ready to serve.
These are best served fresh!
Although Serrano ham is traditional to spain, it is sometimes hard to find in the US. If you can't find it, you can substitute prosciutto.