Preheat oven to 350F. For sauce, melt butter, onion and garlic over medium low heat. Cook until onion is softened, about 3 minutes. Add flour and cook for 1-2 minutes. Reduce heat to low. Combine milk and broth. Add a small amount at a time whisking to thicken. The mixture will become thick, continue adding a little bit of liquid at a time whisking until smooth. Once all of the liquid has been added, bring to a boil over medium heat while continuing to whisk. Stir in salt and pepper. Grease a baking dish - I used 9x13. Place ⅓ of the potatoes in the bottom and season with salt and pepper. Pour ⅓ of the cream sauce sauce over top. Repeat layers ending with cream sauce. Cover and bake for 45 minutes. Uncover and bake for an additional 35-45 minutes or until golden brown and potatoes are tender. Broil for 3-4 minutes with shredded cheese of choosing on top! Allow to rest for 15 minutes before serving. Enjoy!