This recipe is for my basic soup. It's hearty, flavorful and very filling. I love to dip a piece of crusty french bread in it; my husband prefers cornbread. Some people like a little diced celery and/or shredded carrot in their bean soup. If that's how you prefer yours, feel free to add it about 1/2 hour before finished cooking.
The night before, pour beans onto a rimmed baking sheet; remove and discard any stones or damaged beans; place beans in colander or strainer; rinse under running water; pour into large bowl; add enough water to cover by 2 to 3 inches over top of beans; let sit on counter overnight.
The next morning, drain and rinse beans well; set aside.
In a large soup pot or dutch oven, melt bacon grease (or add oil) over medium heat.
Add onions and saute until translucent and beginning to slightly brown.
Add ham, black pepper and pressed garlic; saute 30 seconds (careful, don't burn garlic.)
Add ham hock or bone (if using) and beans.
Add 10 to 12 cups water (and 1 cup broth, if desired.)
Bring to boil over high heat; reduce heat to medium-low, cover and cook for minimum 4 hours and up to 8 hours ( the longer, the better), checking every 1/2 hour or so for enough liquid. Add boiling water as needed (never use cold water as it will cause the beans to burst.)
Add ham soup base, additional vegetables (if using) and salt 1/2 hour before serving. Taste and adjust seasoning as desired. If you desire a thicker soup, leave the lid off the pot for the last 1/2 hour and/or mash some of the beans.
Remove ham bone or hock; pick meat from hock and add to beans, if desired.
Serve with cornbread, crusty white bread, biscuits or crackers. A spoonful of green tomato relish on top is very good also. Store leftovers in covered containers in refrigerator or freeze.