Melt butter in a saucepan over medium-low heat. Whisk in flour. Continue whisking until the mixture is smooth and bubbly, making a roux.
Add the diced onion and mushrooms to the pot. Continue to cook for a couple more minutes until softened.
Slowly add in chicken broth and milk, whisking continuously. Whisk until combined. It might look chunky at first, but keep whisking! It will come together. Bring to a gentle boil and simmer for 5-10 minutes, until thickened. The mixture will continue to thicken as it cools. Salt and pepper to taste.