Heat the olive oil in a medium saucepan over medium heat. Once it's hot, add in the shallots and cook until they are softened, about 2-3 minutes.
Add in the butter. Once it's melted, whisk in the flour and let it cook, while whisking, for a minute or so.
Slowly pour in the chicken broth, while still whisking, until it's all added in. Then do the same for the milk.
Increase the heat to med-high and stir in the seasonings. Let it come to a gentle boil.
Once it's bubbling, turn the heat back down to medium and let this simmer, while stirring often, until it's thickened, just about 3-5 minutes.
Remove the pan from the heat. If you're using it in a recipe right away, then just let it cool down slightly. If you're making it well in advance, then let it cool completely before transfering it to an airtight container and storing it in the fridge until ready to use.