FOR THE CHICKEN BROTH:
1 (4 to 5-pound) whole chicken, or 4 to 5 pounds whole chicken legs
2 medium yellow onions
1 medium head garlic
3 medium celery stalks
2 medium parsnips
4 medium carrots, divided
10 sprigs fresh parsley
1 tablespoon kosher salt
1 teaspoon whole black peppercorns
3 1/2 quarts (14 cups) cold water
FOR THE MATZO BALLS:
5 large eggs
1/4 cup fresh dill, plus more for serving
1 cup matzo meal
1/4 cup melted chicken schmaltz, or 4 tablespoons melted unsalted butter
2 teaspoons kosher salt, plus more for the water
Freshly ground black pepper
1/4 cup plain seltzer, club soda, or chicken broth
1/2 teaspoon baking powder (optional)
Break down the chicken. If using a whole chicken, cut into 8 bone-in parts (2 thighs, 2 breasts, 2 wings, 2 legs). Place the cut chicken or whole chicken legs in an 8-quart or larger stockpot.
Prepare the vegetables. Prepare the following vegetables (no need to peel first), adding them to the stockpot as you prepare them: Quarter 2 medium yellow onions and halve 1 medium head garlic horizontally to expose all the cloves. Coarsely chop 3 celery stalks, 2 medium parsnips, and 2 of the medium carrots.
Add the water and seasonings. Add 10 sprigs fresh parsley, 1 tablespoon kosher salt, and 1 teaspoon black peppercorns. Add 3 1/2 quarts cold water (if your pot isn’t large enough, add the remaining water as the stock reduces).
Simmer for 1 hour. Bring to a lively simmer over high heat. Immediately reduce the heat to low to maintain a gentle simmer. Simmer uncovered for 1 hour. Meanwhile, peel and thinly slice the remaining 2 medium carrots on a slight diagonal. You can also start the matzo balls at this point if you’d like.
Remove some of the meat and simmer 1 hour more. Using tongs, transfer the breasts and thighs (or 2 whole legs) to a plate. Continue to simmer until the broth is flavorful, about 1 hour more. Meanwhile, once cool enough to handle, shred the meat from the removed pieces and discard the skin and bones.
Strain the broth. Fit a colander over a large bowl. Pour the broth through the colander and discard the contents of the colander. Pour the broth back into the stockpot. Taste and season with kosher salt and ground black pepper as needed. (The broth can be cooled and refrigerated at this point. Refrigerate the shredded chicken and sliced carrots separately. You can skim the fat from the surface of the broth if desired before reheating.)
Prepare the matzo ball base. Whisk 5 large eggs in a medium bowl until broken up. Finely chop 1/4 cup fresh dill (plus more for garnish if desired) and add to the bowl. Add 1 cup matzo meal, 1/4 cup melted schmaltz or unsalted butter, 2 teaspoons kosher salt, and black pepper. For lighter matzo balls, add 1/4 cup seltzer or club soda and 1/2 teaspoon baking powder. For denser matzo balls, add 1/4 cup chicken broth instead and do not add baking powder. Whisk to combine. Cover and refrigerate at least 2 hours or up to overnight.
Form the matzo balls. Bring a large pot of heavily salted water to a boil. Meanwhile, line a baking sheet with parchment paper. Scoop out the matzo mixture in 1 1/2-tablespoon portions, then roll into balls (oil or dampen your hands with water if the mixture is sticky) and place on the baking sheet.
Cook the matzo balls. Add the matzo balls to the boiling water and simmer, adjusting the heat as needed, until floating and fully cooked through, 10 minutes. Meanwhile, cook the carrots in the broth.
Cook the carrots and finish the soup. Bring the broth to a simmer over medium heat. Add the reserved sliced carrots and shredded chicken, if using, and simmer until the carrots are slightly softened, 10 minutes. Using a slotted spoon, transfer the matzo balls into the soup and simmer for 5 minutes. Serve the soup garnished with fresh dill and freshly ground black pepper if desired.