In a large pot brown beef; drain and set meat aside.
In the same pot, add 1 tablespoon of the butter and gently sauté the onion, carrots, and celery, stirring occasionally so the vegetables don’t burn and until they are tender, about 10 minutes.
Add broth, potatoes, browned hamburger meat, and parsley.
Bring mixture to a boil and then reduce heat, cover, and simmer for about 15 minutes or until the potatoes are tender.
Meanwhile, in a small sauté pan, melt remaining 3 tablespoons butter on low heat.
Add flour and cook for 1-2 minutes, whisking constantly, until the mixture is bubbly.
Pour the flour mixture into the soup pot and reduce the heat for the pot to low.
Add the cheese and stir until it’s melted.
Add the milk and salt and pepper and heat until hot but not boiling.
Remove from heat and stir in sour cream.
When you serve the soup, you can also add a dollop of sour cream in each bowl if desired.