Prepare the vegetables for the soup. Add the butter to a Dutch oven or a soup pot and heat over medium heat. Add the celery and the onion and cook for 6 to 8 minute. Add the water with the ham bone and cook for about one hour.
Remove the ham bone and add the potatoes, carrots and the bay leaves. Cook for another 20 to 30 minutes or until the potatoes are tender. Remove the bay leaves and mash about 1/4 of the potatoes.
Add the cream and ham and stir in. Season with salt and pepper