1. Soak the beans overnight in the fridge with water to cover by about 2 inches. Or soak them just a couple of hours by covering them with boiling water and leaving the beans at room temperature.
2. Put the whole allspice, coriander seed, cumin and peppercorns in a coffee grinder or mortar pestle and grind to a fine powder.
3. When you're ready to start the soup, film the bottom of an 8 to 10-quart pot with olive oil. Heat over medium high and add the onion, carrot, celery, parsnip and cabbage. Saute until the vegetables begin to color. Sprinkle generously with salt and pepper as they cook.
4. Add the drained beans, the ground spice mixture, minced garlic, basil, ginger, cinnamon, ham hock, and the whole cloves. Stir in enough water to cover everything by about an inch. Bring to a slow simmer, partially cover and simmer 45 minutes, or until the beans are tender. Add more water if needed to keep the solids covered.
5. Once the beans are tender, add the tomatoes and their liquid (crushing them as they go into the pot) with the vinegar. Taste for seasoning, adjust, and simmer another 30 minutes uncovered (this intensifies flavors).
6. With the ham hock still in the soup, use 2 forks to pull the meat from the bone. If serving right away, discard the bone.If storing for later, leave the bone in the soup. Serve the soup hot.
Reprinted from The Splendid Table's How to Eat Supper: Recipes, Stories, and Opinions from Public Radio's Award-Winning Food Show (Clarkson Potter/Publishers, 2008). Copyright 2008 by American Public Media.
Adam Rapoport, editor in chief of Bon Appetit magazine and the website www.bonappetit.com, knows his way around a grill. He has edited an entire book on the subject: The Grilling Book: The Definitive Guide from Bon Appetit.