Sort and wash beans; place in a large Dutch oven. Cover with water to 2 inches above beans; bring to a boil, and cook 2 minutes. Remove from heat; cover and let stand 1 hour. Drain beans, and discard soaking liquid. Return beans to pan.
Cut onion in half. Stud one onion half with cloves; dice remaining onion half. Add clove-studded onion, diced onion, 8 cups water, 1/4 cup parsley, 1/2 cup diced celery, and next 4 ingredients (diced celery through bay leaves) to beans; bring to a boil. Cover, reduce heat, and simmer 30 minutes. Discard clove-studded onion and bay leaves. Add leeks, celeriac, and sliced carrot; bring to a boil. Cover, reduce heat, and simmer 30 minutes or until sliced carrot is tender. Drain bean mixture in a colander over a bowl, reserving 1 1/2 cups liquid. Return bean mixture to pan. Stir in pepper and garlic.
Melt 2 tablespoons butter in a medium skillet over medium heat. Add shallots, and saute 3 minutes. Add wine, and bring to a boil. Reduce heat, and simmer until liquid almost evaporates (about 8 minutes). Remove from heat. Cut 2 tablespoons butter into small pieces, and add wine mixture, stirring until well-blended. Gently stir butter mixture into bean mixture. Stir in reserved cooking liquid, and simmer gently for 5 minutes. Garnish with 2 tablespoons chopped parsley.
Note: Celeriac (seh-LER-ay-ak), also called celery root, is a knobby, brown-skinned root vegetable that can be found in most markets from September through May. You can substitute regular celery if you prefer a milder flavor.