In a skillet melt 2 tablespoons butter and sauté the mushrooms and onions until soft; remove from pan and set aside.
Melt the remaining 3 tablespoons butter and stir in 2 tablespoons flour; cook over medium heat for 1 to 2 minutes to make a roux, stirring constantly (the flour should turn a nice golden color, but be careful not to burn).
Add chicken broth and garlic and cook over low heat for 1 minute.
Stir in the sherry and 3/4 of the Parmesan cheese; add the sautéed onions/mushrooms and stir until cheese melts, then stir in the cream or half and half.
Combine the sauce, cooked and cut-up chicken or turkey, and cooked spaghetti noodles in a large bowl, then spread the mixture into a lightly-buttered/oiled large casserole.
Bake for 30 minutes or until the top begins to brown; combine the remaining Parmesan with the bread crumbs, then sprinkle it over the casserole and bake for 5 minutes longer.
Adapted from a post by peggy at Gail's Recipe Swap, who got it from Gourmet Magazine.
Pat-NoCal’s notes: This is delicious. I didn’t have pimientos so I sauteed some red bell pepper with the mushrooms. Recipe is easily halved. Next time I might use slightly less spaghetti for better sauce coverage.
nlb’s notes to Peggy: I made your Turkey Tetrazzini tonight and it was absolutely wonderful. I only tweaked this recipe a teensy bit by putting one smashed clove of garlic in the sauce, using roasted red peppers, and medium egg noodles instead of spaghetti. I used the Madeira too and it adds a great dimension to this delicious sauce.