Add the cubed potatoes, chopped onion, chicken broth, garlic powder, and dried thyme to the crockpot. Stir to combine.
Cover and cook on low for 6 to 7 hours or on high for 3 to 4 hours until the potatoes are very soft.
Use a potato masher to gently mash some of the potatoes right in the crockpot to create a creamy texture while leaving some chunks.
Stir in the milk, butter, diced ham, and frozen peas. Season with salt and black pepper.
Cover and cook for another 20 to 30 minutes on low until the ham is heated through and the peas are tender.