Place potatoes into a large pot and cover with salted water. Bring to a boil, set heat to medium-low, and simmer until tender, about 20 minutes. Drain potatoes and transfer to a large mixing bowl.
Stir milk, mayonnaise, and butter into potatoes. Mash with a potato masher until smooth.
Cook and stir bacon in a large skillet over medium heat until fat is rendered, 3 to 5 minutes.
Stir onion, garlic, and cayenne pepper into bacon and drippings and cook, stirring often, until onions are translucent, about 5 minutes.
Stir cabbage and water into onion mixture until cabbage is wilted, about 5 more minutes. Season with salt and black pepper.
Fold cabbage mixture into mashed potatoes.
Cook and stir ham pieces in the same skillet used for cabbage mixture until lightly browned, 3 to 5 minutes.
Stir cooked ham into mashed potato and cabbage mixture until combined.
Source: Read Full Article