Cook the butter and flour mixture for 1 minute, and then slowly add in 1½ cups evaporated milk. Stir often to avoid sticking or burning.
Add ½ cup heavy whipping cream, stirring often.
For an even creamier texture, sub ½ cup evaporated milk for heavy whipping cream.
Once mixture is thick, add 1½ tsp salt, ½ tsp pepper, and stir until combined.
Remove pan from heat and add grated cheese. Stir until combined.
Layer Potatoes
Sprinkle half of the minced garlic and onions evenly across the bottom of the oiled baking pan.
Layer half of the potatoes over the onions and garlic. Pour half of the cheese sauce over the potato layer.
Sprinkle the other half of the garlic and onions over the cheese layer. Layer the remaining potatoes over the garlic and onions. Top with the rest of the cheese sauce and spread evenly.
Baking the Potatoes
Place a piece of foil over the baking pan tightly and place in the oven for 40 minutes.
After 40 minutes, remove the foil and cook for an additional 25-30 minutes uncovered.
Once the potatoes have cooked (they should be fork-tender), remove from the oven and let cool for 10-15 minutes.
Notes
You can use any variety of sharp cheese of your choice. I like Gruyére for its sharp flavor and how it melts well with the potatoes. You can choose Parmesan, Pecorino Romano, Swiss, Emmentaler or Jarlsberg.
To keep this recipe dairy-free, choose any dairy-free cheese that melts well of your choice.
It's a good idea to choose a variety of cheeses to give a nice flavor to your dish. Try Jack cheddar or mozzarella to add with your sharp cheese.
Feel free to omit the heavy whipping cream and use Ripple milk as well. It's lighter in calories but not on taste and will give you a creamy, rich dish without all the calories.
Feel free to sub any herbs for chives if you prefer something else. I like using a mix of dill, chives, basil and oregano.
Reduce the salt to 1 tsp if you're concerned about the sodium level.