Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb dried navy or Great Northern beans, rinsed
- 1 tbsp olive oil
- 1 large yellow onion, diced
- 2 medium carrots, diced
- 2 celery ribs, diced
- 3 garlic cloves, minced
- 6 cups low-sodium chicken broth + 2 cups water
- 12 oz cooked smoked ham, 1/2-inch dice
- 1 smoked ham hock or ham bone (optional, for extra smokiness)
- 1 tsp dried thyme or 4 fresh thyme sprigs
- 1 bay leaf, 1 tsp smoked paprika
- 3/4–1 tsp kosher salt, 1/2 tsp black pepper
- 1 tbsp apple cider vinegar; chopped parsley for garnish
Do This
- 1. Soak beans 8–12 hours in water seasoned with 1 tbsp kosher salt; drain and rinse.
- 2. In a 5–6 qt pot, heat oil over medium (about 350°F surface); sauté onion, carrots, celery 7–8 minutes. Add garlic 30 seconds.
- 3. Add beans, broth, water, ham hock/bone, thyme, bay leaf, paprika, pepper. Bring to a boil, then reduce to a gentle simmer (190–200°F).
- 4. Simmer partially covered 60–75 minutes, stirring occasionally; add water as needed to keep beans submerged.
- 5. Stir in diced ham; simmer 15–20 minutes more.
- 6. Remove ham hock; shred any meat and return. Mash 1–2 cups of beans to thicken.
- 7. Season with salt and vinegar; garnish with parsley and serve hot.
Why You’ll Love This Recipe
- Deep, smoky flavor from thyme, paprika, and optional ham hock.
- Classic, hearty texture: tender white beans and bite-sized ham in a savory broth.
- Budget-friendly pantry staples that feed a crowd.
- Flexible cooking options with dried or canned beans and easy make-ahead.
Grocery List
- Produce: Yellow onion, carrots, celery, garlic, fresh parsley, fresh thyme (or use dried)
- Dairy: None
- Pantry: Dried white beans (navy or Great Northern), low-sodium chicken broth, olive oil, bay leaf, smoked paprika, kosher salt, black pepper, apple cider vinegar, crusty bread (for serving), cooked smoked ham, smoked ham hock or ham bone (optional)
Full Ingredients
Base & Aromatics
- 1 tbsp olive oil
- 1 large yellow onion, small dice (about 1 1/2 cups)
- 2 medium carrots, small dice (about 1 cup)
- 2 celery ribs, small dice (about 1 cup)
- 3 garlic cloves, minced
Beans & Broth
- 1 lb dried navy or Great Northern beans, rinsed and picked over
- 1 tbsp kosher salt (for soaking water)
- 6 cups low-sodium chicken broth
- 2 cups water, plus more as needed
Ham & Seasoning
- 12 oz cooked smoked ham, cut into 1/2-inch cubes
- 1 smoked ham hock or leftover ham bone (12–16 oz), optional but recommended
- 1 bay leaf
- 1 tsp dried thyme or 4 fresh thyme sprigs (tied if desired)
- 1 tsp smoked paprika
- 1/2 tsp freshly ground black pepper
- 3/4–1 tsp kosher salt, to taste (adjust based on ham and broth)
Finishing & Garnish
- 1 tbsp apple cider vinegar or 2 tsp fresh lemon juice
- 2 tbsp chopped fresh parsley (plus extra thyme leaves if using fresh)
- Extra-virgin olive oil for drizzling (optional)
- Crusty bread, for serving

Step-by-Step Instructions
Step 1: Soak the beans
Place the dried beans in a large bowl and cover with at least 3 inches of cool water. Stir in 1 tbsp kosher salt and soak 8–12 hours at room temperature. Drain and rinse. For a quick soak: place beans in a pot, cover with water by 2 inches, bring to a rolling boil for 2 minutes, turn off heat, cover, and let sit 1 hour. Drain and rinse.
Step 2: Sweat the aromatics
Heat 1 tbsp olive oil in a 5–6 quart Dutch oven or soup pot over medium heat (aim for a gentle sizzle; surface oil around 350°F). Add onion, carrots, and celery with a pinch of salt. Cook, stirring occasionally, until the onion is translucent and vegetables soften slightly, 7–8 minutes. Add garlic and cook until fragrant, 30 seconds.
Step 3: Build the base and bring to a simmer
Add the soaked beans, ham hock or ham bone (if using), chicken broth, water, bay leaf, thyme, smoked paprika, and black pepper. Increase heat to high and bring to a full boil. Immediately reduce heat to maintain a gentle simmer at 190–200°F. Skim and discard any foam that rises in the first few minutes.
Step 4: Simmer until beans are tender
Partially cover the pot and simmer gently, stirring every 15 minutes, until the beans are creamy and tender, 60–75 minutes. Keep the liquid at a lazy bubble; vigorous boiling can split the beans. Add hot water as needed to keep beans submerged by about 1/2 inch.
Step 5: Add diced ham and meld flavors
Stir in the diced smoked ham. Continue simmering, partially covered, until the ham is heated through and the broth tastes integrated and savory, 15–20 minutes.
Step 6: Adjust texture and season
Remove the ham hock or bone. If using a hock, pick off any meat, shred it, and return it to the pot; discard skin and bone along with the bay leaf and thyme stems. For a thicker, creamier soup, use a potato masher to crush 1–2 cups of beans right in the pot, or blitz a ladleful in a blender and stir back in. Season to taste with 3/4–1 tsp kosher salt (as needed) and stir in 1 tbsp apple cider vinegar to brighten.
Step 7: Finish and serve
Ladle into warm bowls. Garnish with chopped parsley and a few fresh thyme leaves. Add a drizzle of olive oil and a few grinds of black pepper if you like. Serve hot with crusty bread for dunking.
Pro Tips
- Salt your soak. Soaking beans in salted water seasons them throughout and helps them cook evenly.
- Keep it gentle. A steady 190–200°F simmer preserves bean skins and yields a creamy texture.
- Hard water fix. If your beans stay firm, add a pinch (1/8 tsp) baking soda early in the simmer.
- Use a hock or bone. The collagen and smoke deepen flavor and give body to the broth.
- Finish with acid. A splash of vinegar or lemon lifts the richness and wakes up the thyme.
Variations
- Canned-bean shortcut: Use 3 cans (15 oz each) cannellini or Great Northern beans, drained and rinsed. Simmer aromatics with broth, ham hock/bone, thyme, bay leaf, and spices 30 minutes; add beans and diced ham and simmer 15–20 minutes more.
- Slow cooker: Sauté aromatics on the stovetop, then transfer to slow cooker with soaked beans, broth, ham hock/bone, thyme, bay leaf, paprika, pepper. Cook on Low 6–7 hours (or High 3–4 hours) until tender. Stir in diced ham for the last 30 minutes, finish with vinegar and parsley.
- Pressure cooker/Instant Pot: Combine sautéed aromatics, soaked beans, 6 cups broth, 1 cup water, seasonings, and hock/bone. Cook at High Pressure 20–25 minutes; natural release 20 minutes. Add diced ham, simmer on Sauté 5–10 minutes, finish with vinegar and parsley.
Storage & Make-Ahead
Refrigerate in airtight containers up to 4 days; the flavor improves by day 2. The soup thickens as it rests—loosen with water or broth when reheating. Freeze up to 3 months; thaw overnight in the refrigerator. Reheat gently on the stovetop until steaming hot (165°F), adding liquid as needed. If freezing, remove bay leaf and thyme stems first.
Nutrition (per serving)
Approximate values: 350 calories; 25 g protein; 40 g carbohydrates; 9 g fat; 11 g fiber; 980 mg sodium. Actual values will vary based on ham and broth.
