Add the butter to a large skillet set over medium heat. Once the butter has melted, add the garlic and shallots and cook, stirring, until the garlic is golden brown and the shallots are softened, about 3 minutes.
Sprinkle in the flour and whisk to combine. Continue cooking, whisking occasionally, until the roux is toasted and pale golden, about 3 minutes.
Whisk in the wine (or water) and cook, scraping up any brown bits from the bottom of the pan, for 2 minutes, then whisk in the poultry seasoning.
Slowly whisk in the stock. Bring the gravy to a simmer and cook, whisking occasionally, until it has thickened enough to coat the back of a spoon, about 5 minutes. (The gravy should reduce to about 2 cups total.)
Remove the gravy from the heat then taste and season it with salt and pepper before serving.