Start by peeling the russet potatoes and cutting them into evenly sized chunks. This ensures they cook at the same rate.
Place the potato chunks in a large pot and cover them with cold water. Add a generous pinch of salt and bring to a boil over medium-high heat. Once boiling, reduce the heat to a simmer and cook for about 15-20 minutes until tender.
Drain the potatoes in a colander and return them to the pot. Add 8 tablespoons of butter and 1 cup of half & half. Use a potato masher to mash the potatoes until smooth and creamy. Season with salt and pepper to taste.
In a saucepan, melt 4 tablespoons of butter over medium heat. Whisk in ½ cup of all-purpose flour, stirring constantly for about 2 minutes until golden brown.
Gradually whisk in 2 cups of water, stirring to prevent lumps. Add 1 teaspoon each of beef and chicken base (or bouillon cubes) and ½ teaspoon garlic powder. Continue to whisk until the gravy thickens, about 5-7 minutes.
Spoon the creamy mashed potatoes onto plates and generously drizzle with the savory gravy. Enjoy this comforting dish alongside your favorite main course!