In a large skillet, melt the 2 tablespoons of unsalted butter over medium heat. Add the chopped yellow onion and sauté until translucent, about 5 minutes.
Stir in the diced serrano chiles, diced jalapeño pepper, and minced garlic. Cook for an additional 2-3 minutes until the peppers are tender and fragrant.
Sprinkle the 2 tablespoons of all-purpose flour over the sautéed mixture, stirring constantly for about 1 minute.
Gradually whisk in the 1 cup of whole milk until the mixture is smooth. Continue to cook, stirring frequently, until it starts to thicken, about 3-4 minutes.
Add the drained canned diced tomatoes and chopped cilantro to the skillet. Stir well to combine all the ingredients.
Reduce the heat to low and gradually add the grated cheddar cheese and Monterey Jack cheese, stirring continuously until completely melted and creamy.
Finally, stir in the sour cream until fully incorporated. Taste and adjust seasoning if necessary.
Transfer your creamy Chile con Queso to a serving bowl and enjoy it warm with tortilla chips, fresh veggies, or drizzle it over tacos for an added kick!