Melt unsalted butter in a medium saucepan over medium heat.
Once the butter has melted, add flour and whisk continuously until the mixture has a toasty aroma and becomes lightly golden, 2-3 minutes.
Slowly add the milk, ½ cup at a time, whisking each time until no lumps are left. The mixture will seize up at first, but don't worry. Just keep adding the milk slowly and whisking constantly—it will become smooth and creamy. Next, add chicken broth and continue whisking.
Finally, add garlic powder, onion powder, cayenne, salt, and black pepper. Whisk to combine.
Bring to a simmer, continue whisking, and continue simmering until it thickens to the desired consistency, 3-5 minutes. Taste, then season with more kosher salt and black pepper as needed.
Serve warm over biscuits, chicken-fried steak, or fried chicken!