Notes: If making ahead, let cool, cover, and chill up to 1 day. Reheat until steaming, stirring occasionally. Drain beans (you should have about 11 cups) to serve; save juice (you should have about 3 cups) and add to leftover beans to make a second-day soup.
2 pounds dried small white beans
1 smoked ham hock (about 1/2 lb.)
6 cups fat-skimmed chicken or beef broth
4 carrots (about 1 lb. total)
2 onions (about 1 lb. total)
1/4 cup mustard seed
1 1/2 tablespoons fresh thyme leaves or dried thyme
Sort beans and discard debris. Rinse beans, drain, and put in a 6- to 8-quart pan. Rinse ham hock and add to beans, with broth and 6 cups water. Set over high heat, cover, and bring to a boil.
Meanwhile, peel and cut carrots and onions into 1/8- to 1/4-inch dice. Add to beans, along with mustard seed, thyme, sage, cumin seed, cardamom seed, and ginger. When boiling, reduce heat and simmer, covered, stirring occasionally, until beans are creamy-smooth to bite and meat pulls easily from the ham hock, 2 1/2 to 3 hours.
Lift out ham hock and let stand until cool enough to touch, about 8 minutes. Discard skin, bone, and fat. Chop meat and return to beans. Stir over medium heat until steaming, about 5 minutes. Drain beans and save liquid. Season beans to taste with salt.