Soak the beans overnight in cold water, covered by one inch. The next day, rinse and drain.
In your favorite soup pot, sauté onion, carrots, and celery in olive oil for a few minutes, just to begin softening them.
Add fresh garlic and all the spices. Cook for another minute. Slowly add 1 cup of broth to deglaze the pan. Stir the bits up from the bottom with a wooden spoon, let the spices permeate the broth.
Add the beans, hock, and remaining 7 cups of broth.
Bring to a boil, then turn heat down to simmer, and cover. Cook slowly on a gentle simmer until beans are tender and meat falls off the bone. About two hours or so, but really you can let this go all day. The longer the better.
Once beans are tender and meat is falling from the bone, carefully remove bones and meat from the pot. Place in a heat proof bowl to cool enough to handle.
Once cool to handle, take the meat off the bone and chop into small pieces. This soup is about making the meat stretch. You’re after flavor throughout, not big chunks of meat.
Return the meat to the pot, check seasoning, and enjoy!