In a large pot, heat the olive oil over medium-high heat.
Add the onions and garlic with 2 heavy pinches each of salt and pepper and cook, stirring often, until softened and beginning to brown.
Add the beans, chicken stock, and water, then bring to a simmer.
Reduce the heat to medium and cook, covered, until the beans are just tender, about 1 ½ hours.
Stir in the parsnips, cauliflower, and celery root and cook, covered until the vegetables are very tender, another 30 minutes.
Remove from the heat and stir in the dill and parsley.
Working in batches, purée until smooth.
Return to the pot.
Taste and adjust the seasoning with salt and pepper, then serve.
Store in airtight containers in the refrigerator for up to 5 days.
