1. Combine onion, celery, ham, sweet potatoes, chicken stock, water, salt & pepper in a large pot. (Remember to reduce the amount of salt if you are using chicken stock/broth that is already salted.)
2. Bring to a boil and turn down heat to low or medium/low to keep soup at a low simmer. Cook until the sweet potatoes are tender when pierced with a fork.
3. Meanwhile, whisk together the arrowroot and part of the almond milk (about 1/2 a cup) in a medium saucepan until smooth. Add the rest of the almond milk and butter and bring to a boil. Boil 1 minute to thicken.
4. Add the thickened milk mixture to the soup (after the sweet potatoes are tender) and stir until well incorporated.
*For a dairy-free or starch-free option, substitute a can of full-fat coconut milk for the arrowroot/almond milk/butter mixture. Just pour the coconut milk directly into the soup and warm until heated through.