01 -
In a large pot or Dutch oven, brown the ground beef over medium heat, breaking it into small pieces as it cooks. Drain off any excess fat and set the cooked beef aside.
02 -
In the same pot, add 1 tablespoon of butter. Once melted, add the chopped onion, shredded carrots, and diced celery. Stir in the dried basil and parsley flakes. Cook until the vegetables become tender, about 5 minutes.
03 -
Pour in the chicken broth and add the diced potatoes and cooked ground beef back to the pot. Bring everything to a boil, then reduce the heat to a simmer. Cover and cook for 10-12 minutes, or until the potatoes are easily pierced with a fork.
04 -
While the soup simmers, melt the remaining 3 tablespoons of butter in a small skillet over medium heat. Whisk in the flour and cook for 2-3 minutes, stirring constantly, until the mixture turns light golden brown and smells slightly nutty.
05 -
Gradually stir the roux into the soup, mixing well to incorporate. Continue cooking for 2-3 minutes until the soup begins to thicken.
06 -
Reduce the heat to low. Add the cubed Velveeta or shredded cheddar cheese in batches, stirring until completely melted and smooth after each addition. Slowly stir in the milk, salt, and pepper. Heat through without allowing the soup to boil, which could cause the dairy to separate.
07 -
Just before serving, stir in the sour cream until well blended. Taste and adjust seasonings if needed. Serve hot with your favorite garnishes like extra cheese, chopped green onions, or crumbled bacon.