Soak the beans over night in a large bowl. I order mine from Rancho Gordo, but any good quality white bean is fine.
The next day, in a Dutch oven or large pot, sauté the onions in olive oil until golden. Add garlic and spices and cook for about a minute. Remove from pot and set aside.
Drain the beans and add to the Dutch oven. Add 1 tsp. salt and about 6 cups cold water and bring to a boil. Reduce heat to a low boil. Cook for about one hour, or until a fork pierces the beans easily (cooking time depends on the moisture in the beans).
Add the onions, tomatoes, potatoes, carrots, celery, and bay leaf, and stir through. Add Parmesan rind if using. Add enough cold water to cover with an extra inch. Bring to a boil, then reduce heat to a steady simmer. Taste for seasoning. Cook for about 20 minutes, then check to see if the potatoes are tender.
When the potatoes are almost ready, add zucchini and parsley, check for seasoning, and simmer another 15-20 minutes or so. Remove bay leaf and Parmesan rind.
Serve with grated Parmesan, lemon wedges, and chunks of ciabatta or other rustic bread with olive oil. I also like to add more heat with a splash of Cholula (a bad Texas habit!).