Preheat oven to 375°F and grease a 9x13-inch baking dish.
In a medium saucepan over medium heat, melt the butter and sauté garlic for 1 minute.
Whisk in flour and cook for 1-2 minutes. Slowly add milk and cream, whisking until smooth.
Add salt, pepper, and paprika. Simmer until thickened, then remove from heat.
Layer half of the sliced potatoes in the dish, top with half of the sauce, cheese, bacon, and green onions.
Repeat layers with remaining ingredients.
Cover with foil and bake for 30 minutes. Uncover and bake an additional 25-30 minutes, or until bubbly and golden brown.
Let cool for 10 minutes before serving.