Rinse the chicken pieces under cold water. Put them into a spacious pot or a Dutch oven.
Add the onion, garlic, ginger, celery, and carrots to the pot. Pour in 8 cups of water, ensuring the chicken is fully submerged. Incorporate the bay leaves, soy sauce, salt, and pepper into the mixture.
Bring the mixture to a boil over high heat. Once boiling, reduce the heat to low and let it simmer for about 1.5 to 2 hours, skimming off any foam or impurities that rise to the surface.
After simmering, remove the chicken pieces and set them aside to cool. Pour the broth through a fine mesh sieve into a fresh pot, then discard the remaining solids.
After the chicken has cooled sufficiently, take off the skin and bones. Tear the meat into small, bite-sized chunks and set them aside.
Place the long rice in a large bowl and cover with hot water. Let soak for about 15-20 minutes until the noodles are soft. Drain and set aside.
In a large pot, heat the vegetable oil over medium heat. Add the sliced onion, minced garlic, and ginger. Cook the onions until they become clear and the aroma of the mixture fills the air, which should take around 5 minutes.
Pour in the reserved chicken broth and bring to a simmer. Add the shredded chicken and soy sauce. Season with salt and pepper to taste.
Once the broth is simmering, add the soaked and drained noodles. Cook for another 5-10 minutes until the noodles are fully cooked and have absorbed the flavors of the broth.
Ladle the chicken long rice into bowls, garnish with sliced green onions, and serve hot.
