Peel and cube the potatoes into roughly 1-inch pieces. Place in a large pot, cover with cold water, and add a pinch of salt. Bring to a boil and cook for 10-15 minutes until fork-tender. Drain and set aside.
In the same pot, melt butter over medium heat. Add bacon grease if using. Stir in onion flakes and flour, cooking for about 1 minute to form a roux.
Slowly whisk in the milk and water to avoid lumps. Simmer for 2-3 minutes until the sauce thickens.
Add the cooked potatoes back to the pot and gently stir to coat with the sauce. Season with salt and pepper. Adjust consistency with more milk or water if needed.
Simmer for an additional 5-7 minutes, stirring occasionally, to allow the flavors to combine. Serve warm.
Notes
For extra richness, substitute half the water with chicken broth. Serve as a side for roasted meats.