Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
4.6
(43)
Export 9 ingredients for grocery delivery
Step 1
Put the beans in a large bowl and cover with about 3 times their volume of cold water. Soak overnight in a cool place.
Step 2
Drain the beans and transfer to a large pot or Dutch oven. Add 10 cups water and the ham. Bring to a simmer over medium heat, then reduce the heat to low and cook until the beans are tender, about 1 hour, 30 minutes. Transfer the ham to a plate to cool slightly, then remove the bone, if used, and dice the meat. Return the meat to the pot.
Step 3
Meanwhile, cover the potato with water in a saucepan and season with salt. Bring to a boil over medium-high heat, then reduce the heat and simmer until the potato is fork-tender, 20 to 25 minutes. Drain the potato; transfer to a bowl with the milk and mash with a potato masher or fork until smooth. Add the mashed potato to the bean soup and stir until combined.
Step 4
Melt the butter in a large skillet over medium heat. Add the onion, celery, garlic and parsley and cook until the vegetables are translucent, 7 to 10 minutes. Add the vegetable mixture to the soup, reduce the heat to low and cook 1 hour, adding up to 2 more cups water if the soup is too thick. Season with salt and pepper.