Cover beans with soaking water and refrigerate for 8 to 12 hours, then drain and rinse; preparation time includes an 8-hour soak. Heat oven to 400°F.
Cut the top from the garlic head, drizzle with oil, wrap in foil and roast for 40 to 45 minutes until soft. Meanwhile, bring beans and fresh boiling water to a full rolling boil and boil for 30 minutes, then drain.
Put drained beans, ham bone, celery root and onion in a 7-quart slow cooker. Squeeze roasted garlic from its skins into the cooker and add soup water, sage and pepper.
Cover and cook on low for 6 to 7 hours until the beans are very tender and the meat loosens from the bone. Lift out the bone and celery-root chunks.
Blend celery root with 1 cup broth from the cooker using an immersion blender in a tall heatproof container, then stir the puree back into the soup. Pull usable meat from the bone, discard bone and gristle and return the meat.
Stir in spinach, cover and cook on high for 15 to 20 minutes until the greens soften and the ham reaches 165°F. Add lemon juice and taste before adding up to the measured salt, then divide among eight bowls.