Bring 3 quarts water and ham bone to a boil in a large stockpot. Boil until meat comes off easily from bone, about 1 hour. Remove bone from broth, allow to cool enough to touch, then remove as much meat as possible. Transfer meat to a resealable plastic bag; seal the bag and refrigerate.
Pour broth into a large bowl; cover and refrigerate 8 hours to overnight. Skim and discard any fat from the top of chilled broth; transfer broth to a large pot.
Bring broth to a boil; add potatoes, cabbage, celery, and reserved ham meat. Reduce heat and simmer until potatoes are tender, about 45 minutes.
Whisk together 1/2 cup water and flour in a small bowl until smooth; whisk into soup until thickened. Stir in light cream until incorporated.