Grate your cheese: I always use cheese in a block. Grate your cheese using a grater. Set the cheese aside.
Make the base:
Melt the butter: Add the butter to a saucepan. Melt the butter over medium-high heat, then stir in the flour.
Cook the flour for 1 minute, stirring.
Add the milk; gradually and carefully add the milk into the saucepot with the flour. Whisk well while adding the milk. Cook the mixture, stirring, until it coats the back of your spoon.
Add cheese:
Stir in the cheese: Stir in the cheese, one handful at a time, until melted. Remove from the heat and add salt and chili powder to taste.
Serve:
Serve the dip in a bowl, with tortilla chips or veggies on the side.
Notes
For recipes like this, make sure you use cheese in a block. The pre-shredded/grated cheese you buy in a store contains some extra ingredients, like potato starch, that keep the shreds from clumping in a bag. This extra addition of the potato starch may affect your cheese dip, making it thicker. Also, cheese from the block has way better creaminess.