Melt the butter in a medium saucepan over medium heat. Add in onions and garlic and cook until soft, about 5 minutes.
Add in the all-purpose flour to make a roux and cook for 2 minutes. Turn the heat down to medium-low
Pour 2/3 cup of heavy cream and 1/3 cup of chicken stock into the the roux while whisking. Add more of each liquid once the previous addition has been incorporated. The sauce will start to bubble, whisking often until the sauce thickens.
Spray a 9-inch x 13-inch baking dish with non-stick cookign spray. Place 1/3 of the sliced potatoes in an even layer in the bottom of the baking dish. Top with 1 cup of the sauce. Repeat with another 1/3 of the potatoes and 1 cup of sauce two more times.
Cover the baking dish with foil and bake for 45 minutes.
Then carefully remove the foil and bake until the potatoes are fork soft, about another 20-25 minutes longer. If desired, you can broil the potatoes for 2-3 minutes to get those golden brown bubbles on top.
Remove from the oven and let rest for 5-10 minutes before serving warm. (Letting the potatoes rest will help the sauce thicken back up a bit and not be so runny.) Sprinkle with a little chopped parsley if desired.
Notes
You will need about 5 to 7 medium-sized russet potatoes (around 2.5 pounds) for 7 cups.