Soak the beans: The night before, place the navy beans in a large bowl and cover with several inches of water. Let soak overnight. Drain and rinse before cooking.
In a Dutch oven or large soup pot, heat the olive oil over medium heat. Add the diced onion and cook until softened, about 5 minutes. Stir in the carrots and cook another 3–4 minutes, until slightly tender.
Add the chicken broth (or water), drained beans, ham hock, and a generous pinch of salt and pepper. Bring to a boil, then reduce heat and simmer uncovered for 2–3 hours, stirring occasionally, until the beans are very tender and the broth has thickened.
Remove the ham hock and let it cool slightly. Pull off any meat, chop it, and return it to the pot. Discard the bone and any excess fat.
Stir in the diced ham, dried thyme, and Dijon mustard. Simmer for another 5–10 minutes to warm through.
Taste and adjust with additional salt and pepper as needed.
Ladle into bowls and serve with crusty bread.
Notes
Be sure to not soak your beans for too much longer than recommended, as their texture can change if they absorb too much water.
Mustard, ham, and ham hocks are salty elements so add salt sparingly until you’re tasting the final dish.
This soup thickens considerably in the fridge. Add a splash of water or broth when reheating.
A splash of apple cider vinegar or a squeeze of lemon at the end brightens the whole pot.