Place the whole chicken in a large pot and cover with cold water. Bring to a gentle boil, then reduce to a low simmer. Skim off any foam.
Add the onion, garlic, and bay leaves. Simmer uncovered for 60–90 minutes.
Remove the chicken when it reaches 165°F. Rest for 10 minutes, then shred the meat and discard the skin and bones.
Strain the broth if desired. Add the carrots and celery, then simmer for 20 minutes until tender.
Return the shredded chicken to the pot. Add egg noodles, if using, and cook for 8–10 minutes.
Season with salt and pepper just before serving, then garnish with fresh dill or parsley.