1 pound lean ground beef
1 (16 oz.) package velveeta, cubed
1 cup sharp cheddar cheese, grated
1 yellow onion, finely chopped
4 small potatoes, chopped
1 red bell pepper, seeds removed, diced
1 (13.25 oz.) can whole corn kernels, rinsed and drained
1 (13.25 oz.) can black beans, rinsed and drained
1 (4 oz.) can green chiles
3 cups low-sodium chicken or beef broth
2 1/2 cups whole milk
1/4 cup all-purpose flour
1/4 cup (1/2 stick) unsalted butter
1 teaspoon garlic powder
1 teaspoon cumin
1/2 teaspoon cayenne, optional
Kosher salt and freshly ground pepper, to taste
In a medium saucepan over medium-high heat, melt butter in skillet, then whisk in flour.
Cook roux for 2-3 minutes, or until golden brown, then whisk in whole milk.
Season with salt and pepper, then remove from heat and refrigerate until ready to use.
Heat a large stockpot or Dutch oven over medium-high heat and cook ground beef, breaking it up as it cooks, until browned.
Season generously with salt and pepper and garlic powder, then transfer beef to a separate plate and drain all but 2 tablespoons fat.
Add onion, potatoes and bell pepper to Dutch oven and cook for 10-12 minutes, or until veggies are softened and fork tender.
Season with salt and pepper, cumin and cayenne, then add corn, black beans and green chiles.
Return beef to pot and stir in chicken or beef broth.
Bring mixture to a boil, then reduce heat and let simmer for 15 minutes.
Stir in refrigerated roux mixture, then add in cubed velveeta.
Cover again and cook for another 15 minutes, or until cheese is melted and soup is thick and smooth.
Serve hot, topped with cheese.