Place potatoes in a medium saucepan and cover with water. Add about a teaspoon of salt. Bring to a boil and simmer until just tender, but still a little firm.: You will hear a steady simmer as the water warms then bubbles gently, and the steam will smell faintly of cooked potatoes . The goal here is tenderness with a little resistance, so use a fork to test them at the lower end of tenderness; they should slide off the fork with slight resistance. This step sets the texture for the whole dish, because overcooked potatoes will fall apart when baked, turning the casserole mushy. A common error is leaving them boiling too long, so check early to avoid waterlogged pieces. The lightly salted water seasons the interior, which helps create a balanced bite later.
Drain potatoes and place in a greased 2-quart baking dish.: After draining, give them a moment to steam off excess moisture so they do not water down the sauce. You should notice a clean, starchy scent and the skins, if any remain, will look slightly matte. Greasing the dish helps prevent sticking and encourages the edges to brown a bit. If you skip drying them briefly, the sauce can become thinner and the top will not crisp properly, which dulls the overall texture contrast.
Melt butter over medium heat in a medium saucepan. Sprinkle flour into pan. Stir and cook 1 minute.: As the butter melts, you will hear a gentle sizzle and see a glossy pool of fat. When you add the flour , it will clump initially, but stirring smooths it into a paste. Cooking for about one minute removes the raw flour taste and gives the roux a faintly nutty scent, which enhances the sauce. If you rush this step or skip cooking the roux, the final sauce can taste pasty or raw. Keep the heat moderate to prevent the butter from browning too much, which would change the flavor profile.
Gradually whisk in the milk. Bring to a boil and simmer until thickened.: When you add the milk slowly while whisking, the roux dissolves into a silky base. You will see the sauce transform from thick paste to smooth liquid, and as it heats it will steam and begin to thicken, leaving a ribbon when the whisk is lifted. A gentle boil helps activate the thickening power of the flour . If you add the milk too quickly or do not whisk, lumps will form and the texture will be uneven. Keep stirring so the bottom does not scorch, which would impart a burned taste.
Stir in seasoned salt, pepper, and garlic powder.: Adding these seasonings at this stage lets them bloom in the warm sauce, releasing aroma and rounding out the dairy sweetness. You should notice the sauce smelling more layered, with warm spice notes. Taste cautiously, because processed cheeses like Velveeta will add sodium later. Over seasoning now can lead to an overly salty casserole at the end, so err on the lighter side.
Remove from heat. Add Velveeta and stir until melted. Pour sauce over potatoes.: Off the heat, the cubed Velveeta cheese will melt into a glossy, cohesive sauce with minimal effort, creating that classic velvety texture. Stir until smooth and even, then pour slowly so the sauce covers the potatoes evenly. The aroma will become unmistakably creamy and rich. If you keep the pan on high heat while adding the cheese, the texture can separate or become grainy, so removing from heat first avoids that problem.
Sprinkle cheddar cheese on top. Bake in a 350 degrees for 25 minutes.: As the dish bakes, you will see the sauce bubble gently at the edges and the shredded cheddar cheese will melt into a golden, slightly blistered top that smells nutty and sharp. The 350 degrees creates even heating so the interior stays creamy while the top develops a pleasing texture. If the oven is too hot, the top may brown before the center is warmed through, so maintain a steady temperature. Use the aroma and gentle bubbling as your cues that the casserole is ready to come out.