In a large pot, place the chicken, cover with water and season generously with salt, pepper and garlic powder. Bring to a boil and simmer until soft, about an hour. Debone chicken and shred, reserving 3 cups for the recipe. Refrigerate the rest for another use.
In the same chicken broth, cook the spaghetti.
In a large pot, melt the butter. Add the onions and mushrooms and sauté for about 5 minutes until onions are transparent. Sprinkle in the flour and stir until absorbed. Add one cup chicken broth and milk and whisk till smooth. Season with the salt, pepper, and garlic powder. Let it simmer till thickened.
Add the diced tomatoes and green chilies.
Stir in 2 cups shredded cheese and stir till smooth and melted.
Add the cooked spaghetti noodles, shredded chicken, and second cup of chicken broth to the sauce and stir.
Taste and adjust seasonings as desired.
Pour into a casserole pan and sprinkle the third cup of cheese on top.
Bake uncovered in a 350 degree oven for 20 minutes until nice and bubbly.