Bring a pot of salted water to a boil. Add potatoes and cook until tender but still firm, about 15 minutes; drain and set aside to cool.
In a large skillet add 1/4 stick of unsalted butter and heat on medium high. Add onions, cabbage, garlic and cook until soft, add mushrooms and cook for additional 2 minutes; drain and set aside to cool.
Mash cooled potatoes until smooth.
Add 2 of the eggs, ham, onions, cabbage, garlic, cheese and chives into the bowl.
Season with pepper.
Stir well to fully incorporate.
Place potato mix in refrigerator for 30 minutes to cool.
In a deep, high wall saucepan, heat 4 – 6 inches of oil to 375 degrees F. (Or you can use a dutch oven or deep fryer)
In three medium bowls or pie plates, add flour to one bowl (season flour with ¼ tsp pepper), add the breadcrumbs to another and in the last bowl, whisk together remaining eggs and milk.
Take a golf ball size scoop of the potato mixture and roll it gently between your hands to form a short, fat cylinder. If the mixture gets too sticky, lightly flour your hands before rolling the croquettes.
Dredge each croquette in flour, then the egg mixture, and lastly, the breadcrumbs. Continue rolling until you’ve used all the potato mixture.
Carefully fry croquettes in hot oil (about 6 at a time) for approx 3 -4 minutes, or until they are a deep golden brown. Remove from the oil and drain on paper towels. Serve immediately.