Melt 1 tablespoon butter in a deep pot; saute onion, celery, and parsley until slightly tender, about 7 to 10 minutes.
Brown ground beef.
Add broth, ground beef, and hash browns to the pot. Cover and simmer on medium heat until hash browns are tender, about 10 minutes.
Meanwhile, melt remaining 3 tablespoons butter in a small skillet and add flour until it turns to a thick paste.
Add 1/2 the milk at a time, whisking until combined. Cook over medium heat until it thickens, stirring frequently.
Add 1/2 the flour mixture at a time to the pot; mix well.
Bring the soup to a boil. Reduce heat to low.
Add cheese and stir until melted.
Remove from heat and stir in sour cream.
Season with salt and pepper to taste.
Serve topped with shredded cheese.