In a large pan, over medium heat, melt butter and heat oil together. Next, add in onions and seasonings and cook until translucent.
Next, add in flour, immediately whisk 1 minute, then add in 1 cup of milk, continue whisking until a sauce is formed, add the remaining 1 cup of milk and whisk continuously 2-3 minutes, or until sauce has thickened to create a roux.
Next add in cheese, mix it together. Turn off the heat and fold in the ham. Transfer the ham mixture into a large bowl and cover. Refrigerate 4-24 hours.
Once ham mixture has been refrigerated, set a station where one plate is filled with flour, the other breadcrumbs and a bowl with beaten eggs.
Take a tablespoon of the ham mixture and roll it in your hands to either create a ball or cigar shape. Use a little flour if mixture is sticky. Then gently dust it in flour, dip it in the eggs, and roll it in the breadcrumbs. Continue until all the ham mixture is used.
To a large pan heat 2 inches of oil over medium high heat. Once oil is hot, add in a few croquettes and fry 1-2 minutes per side or until golden colored. Remove and repeat with remaining croquettes.