Wash the potatoes and using a mandoline or slicing disk on a food processor, slice the potatoes. It is up to you if you want to leave the skins on or not. Place potatoes in a bowl of water to keep them from turning brown and set aside.
In a large skillet or pot, heat the butter over medium heat until melted. Make a roux: Add the flour, whisk into the butter, and continue whisking until it becomes a light brown color.
Turn the heat down to low. Add the milk to the pan and whisk into the roux.
Add the cheddar cheese two cups at a time and whisk into the sauce. Make sure that the milk is just warm and not too hot because otherwise it will cause the cheese to curdle. Add the garlic salt and then salt and pepper to taste. The sauce will thicken later when it bakes and the flavors will concentrate from the roux so be careful when adding the salt.
Continue whisking occasionally until most of the cheese is melted. Turn the heat off.
Preheat the oven to 350F.
In a large glass baking dish, coat the bottom with some of the sauce (approximately 1/2-1 cup). Lay the potatoes in the dish, slightly overlapping each other, to cover the bottom of the dish in an even layer.
On top of the potatoes, spoon more of the sauce (approximately 1 1/2 cups) to cover the potatoes. Sprinkle 1/2 cup of the chopped broccoli on the sauce. Repeat this process for three layers. (The exact size of your baking dish may require more or fewer layers. You can also use two smaller dishes. Just use enough sauce on each layer to cover the potatoes).
Optional: If you like crunchy cheese, you can sprinkle 1/2 cup cheddar on the very top when done. Cover the dish with aluminum foil. Place the glass dish on a cookie sheet (it will likely boil over a little and this will help keep your over clean).
Bake the potatoes until they are fork tender, approximately 2 hours. When fork tender, remove the aluminum foil and continue baking to brown the top, approximately 30 minutes.
Remove from over and let stand for 15 minutes so that the sauce settles (otherwise the sauce will run out of the potatoes). Serve warm.
Please note that the exact thickness of the potatoes, how many layers you make, and your exact oven will change the cooking time. It is best to do a test run of these before a holiday or large event so you know a more exact cooking time to ensure they are done on schedule. We have had times where dinner was an hour late because the potatoes were not done!