Melt butter in a large saucepan. Add onion and cook until translucent, about 5 minutes. Stir in flour and seasonings and cook for one minute
Slowly pour in the milk or cream and chicken stock. Bring to a slow boil and simmer until thickened enough to cover the back of a spoon, stirring frequently. Add the cheese, reserving a little for the garnish if desired. Stir constantly until melted.
Remove from heat and season to taste with more salt and pepper, if needed. Serve and enjoy!
Notes
I think making this with milk is perfect for an every day soup. Using the cream instead makes it something extra special! Also, try topping individual bowls with a handful of popcorn for a fun treat.