In a small saucepan, melt the butter and add the flour. Whisk them together over medium heat until the mixture turns bubbly and foamy. Let this cook while stirring continuously for about one minute to remove any raw flour taste.
Gradually pour in the milk while whisking to combine with the butter and flour mixture. Increase the heat slightly, and continue to whisk as the milk heats up. Once it reaches a gentle simmer, you’ll notice the sauce thickening. When it’s thick enough to coat the back of a spoon, turn off the heat.
Add the shredded cheddar cheese, one handful at a time, stirring until each portion melts completely into the sauce before adding more. If necessary, place the pot over low heat to help melt the cheese, but be careful not to overheat, as this can cause the sauce to separate.
After the cheese is fully incorporated, stir in the salt and chili powder. Give it a taste and adjust the seasoning if desired. If the sauce thickens too much as it cools, whisk in a little extra milk until you reach the desired consistency. Enjoy your smooth, creamy nacho cheese sauce!