Prepare Matzo Ball Mixture:
In a medium bowl, whisk eggs, oil, water (or broth), salt, and pepper. Stir in matzo meal (and baking powder if using). Cover and refrigerate for at least 30 minutes to allow mixture to firm up.
Prepare Broth:
In a large pot, combine chicken stock, carrots, celery, onion, garlic, salt, and pepper. Bring to a gentle boil, then reduce heat to a simmer for 15–20 minutes to allow flavors to meld.
Form Matzo Balls:
With wet hands, form chilled matzo mixture into 1–1.5 inch balls. Keep them uniform in size for even cooking.
Cook Matzo Balls:
Bring a separate pot of salted water or lightly simmering chicken broth to a boil. Carefully drop matzo balls into the liquid. Cover, reduce heat, and simmer for 20–25 minutes until fluffy and cooked through.
Assemble Soup:
Remove onion, garlic, and large vegetable pieces from the broth if desired. Add cooked matzo balls to the broth along with cooked carrots and celery. Garnish with fresh dill if using. Serve hot.