Heat a large dutch oven over medium heat and add butter.
Once hot, add onion, carrots, and celery and cook until beginning to soft, about 8-10 minutes.
Add garlic, and all spices and saute for 1 minute more.
Add peas, hambone, bay leaf, broth and 2 cups of water and bring to a boil. Reduce heat to a simmer, cover and cook for 1 hour.
Uncover and add diced ham and cook until desired consistency, stirring occasionally, about 30-45 minutes. If the soup is getting too thick, add more water as needed.
Add apple cider vinegar, and additional salt and pepper. Remove the hambone and chop up any leftover meat and add to the pot. Serve immediately.