Melt butter in a large skillet over medium-high heat. Add ham and onion; cook, stirring occasionally, until onion is translucent, about 8 minutes. Add garlic and cook until fragrant, about 2 minutes.
Add cabbage; cook and stir for 5 minutes. Add broth and season with salt and pepper. Cover and cook for 8 minutes.
Uncover and continue to cook until cabbage is tender, about 5 more minutes.