Soak the Beans (8–12 hours or quick-soak)
Place beans in a large bowl, cover with water by 2 inches, and soak overnight.
Or, for a quick soak: place beans in a pot, cover with water, bring to a boil for 2 minutes, then let sit (off heat) for 1 hour. Drain and rinse.
Sauté the Aromatics (5 minutes)
In a large Dutch oven, heat olive oil over medium-high heat.
Add onion, carrots, and celery. Sauté for 3–4 minutes until softened.
Stir in garlic and cook another minute until fragrant.
Add Beans and Broth (5 minutes)
Stir in the soaked beans.
Add broth, ham hock (or smoked meat), bay leaves, thyme, salt, and pepper.
Bring to a boil.
Simmer (1.5–2 hours)
Reduce heat to low and cover partially.
Simmer until beans are tender and creamy, about 90–120 minutes.
Stir occasionally and add more broth or water if needed.
Finish and Serve
Remove ham hock, shred any meat, and return it to the pot.
Discard bay leaves.
Adjust seasoning with more salt and pepper.
Garnish with fresh parsley and serve hot.