Melt the butter in a medium saucepan over medium heat.
Whisk in the flour, garlic powder, and onion powder if using. Cook for 1 to 2 minutes, stirring constantly, until the roux darkens slightly and no longer smells like raw flour.
Slowly pour in the chicken broth in a thin, steady stream while whisking continuously until the mixture is completely smooth.
Continue whisking occasionally as the gravy simmers over medium heat for 3 to 5 minutes until it reaches your desired consistency. Whisk in a splash more broth if it gets too thick.
Taste the gravy and season with kosher salt and ground black pepper. Serve warm.
Notes
Always cook the roux for 1 to 2 minutes before adding broth. Skipping this step will leave a raw, pasty flour taste in the finished gravy.
Taste before salting. Sodium levels vary widely between broth brands and the gravy concentrates naturally as it reduces.
For a gluten-free version, skip the roux and whisk a slurry of 2 teaspoons cornstarch and 2 tablespoons cold water into simmering broth until thickened.
Pan drippings from roasted chicken or turkey can replace some or all of the broth for a richer, deeper flavor. Skim excess fat first.