In a saucepan, melt butter over medium heat. Add turkey necks and giblets (if using), and brown them on all sides, about 5 minutes.
Add chopped onion, carrots, and celery to the saucepan, along with sage, thyme, poultry seasoning, rosemary, and bay leaves. Cook for another 5 minutes, until vegetables are softened.
Pour in the broth, ensuring it covers the turkey necks and vegetables. Bring to a boil, then reduce heat and let simmer for 1-3 hours, until turkey necks are tender and flavors are infused.
Remove turkey necks, giblets, and vegetables from the saucepan, and strain the broth through a fine-mesh sieve or sieve into a separate container. Discard solids.
In the same saucepan, melt remaining butter over medium heat. Whisk in flour to create a roux, and cook for 2-3 minutes until lightly golden.
Gradually pour in the strained broth, whisking constantly to prevent lumps. Continue to cook until the gravy thickens to your desired consistency, about 5-10 minutes.
Season gravy with salt and black pepper to taste.
Serve turkey neck gravy hot over mashed potatoes, stuffing, or your favorite holiday dishes.