In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the flour to create a roux. Cook for about 1-2 minutes, whisking constantly, until the mixture is slightly bubbly and golden.
Add Milk:
Slowly pour in the whole milk, whisking continuously to prevent lumps from forming. Continue to cook and whisk until the mixture thickens, about 3-4 minutes. You want it to be thick enough to coat the back of a spoon.
Melt the Cheese:
Lower the heat to low and begin adding the white American cheese (or your choice of white cheese) a little at a time. Stir continuously until the cheese is completely melted and smooth. If the cheese is taking a while to melt, you can increase the heat slightly, but be careful not to overheat it or it may separate.
Season the Queso:
Add the garlic powder, onion powder, cumin, chili powder, and cayenne pepper (if using) to the cheese mixture. Stir to combine, and taste the queso. Adjust the seasoning with salt and pepper as needed.
Optional Add-Ins:
If you’d like, you can stir in sour cream for extra creaminess, or add diced tomatoes or diced green chilies for a little more texture and flavor.
Serve:
Once the queso is smooth, creamy, and fully combined, remove the saucepan from heat.
Pour the white queso into a serving bowl and garnish with freshly chopped cilantro (if using).