4 tablespoons unsalted butter, plus softened butter for the baking dish
6 medium russet potatoes (about 2½ pounds), scrubbed, peeled, cut into large chunks
3-4 garlic cloves, minced
2 tablespoons all-purpose flour
1 cup heavy cream
1½ cup milk
2 cups Gruyère cheese, grated and separated
1½ teaspoon kosher salt
½ teaspoon freshly ground black pepper
2 teaspoons paprika
1 teaspoon onion powder
Paprika and black pepper, for garnish
Directions
Preheat the oven to 350°F. Butter a 8 x 11.5-inch baking dish.
Bring a large pot of generously salted water to a rolling boil. Add the potatoes and simmer until just tender but not falling apart, about 13 minutes. Drain thoroughly and set aside.
In a medium saucepan, melt the butter over medium heat. Add in the garlic and sauté over medium-low until softened and fragrant, about 30 seconds. Increase the heat to medium, whisk in the flour and cook, stirring constantly, until lightly browned and fragrant, 2 to 3 minutes. Whisking constantly, slowly pour in the heavy cream and milk until the sauce is smooth. Add in 1 cup of the Gruyère, the salt, pepper, paprika, and onion powder, then cook, whisking gently, until the cheese is melted.
Arrange the potatoes to cover the bottom of the prepared baking dish and pour the sauce over them and top with the remaining Gruyère. Place the baking dish in the oven and cook for 15 minutes. Turn the broil to high and broil for 5 minutes more, until fully golden brown. Top with black pepper and paprika and serve.
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat in a preheated 350°F oven until heated through, 30 minutes.