Place whole potatoes in a large pot of salted water. Bring to a boil and cook for about 25 minutes, or until fork-tender. Drain, cool enough to handle, peel, and dice into bite-sized pieces.
Cook the ground beef in a large soup pot until browned and cooked through. Drain excess grease and set aside. Cook the bacon until crisp, then drain and crumble.
Melt 2 tbs of the butter in the soup pot. Add the onion, carrots, and celery and cook until softened. If using corn instead of carrots, add it later with the potatoes. Stir in the basil and parsley.
Pour in the chicken broth. Add the cooked potatoes, browned ground beef, and bacon. Stir well.
In a separate saucepan, melt the remaining butter. Whisk in the flour and cook, stirring, until smooth and bubbly. Add a little more butter if needed to make a smooth roux.
Stir the roux into the soup. Bring to a boil and cook for 2 minutes, stirring frequently.
Reduce the heat to low. Stir in the shredded cheddar, milk, salt, and black pepper. Cook gently, stirring, until the cheese melts. Do not boil vigorously.
Remove from the heat and stir in the sour cream. Taste and adjust the seasonings. Serve warm with pumpernickel bread.