In a large skillet, cook the ground beef over medium-high heat, breaking it up as it browns for about 5 to 7 minutes. Once fully cooked, drain off any excess grease and set the beef aside.
In a 3-quart saucepan, cook the bacon over medium-high heat, turning occasionally, until it becomes crispy and browned, about 10 minutes. Use a slotted spoon to transfer the bacon to paper towels to drain, while leaving the bacon grease in the pan.
In the bacon grease, sauté the carrots, celery, and onion until softened, about 10 minutes. Then, stir in the broth, potatoes, and cooked ground beef. Bring the mixture to a boil, then lower the heat, cover, and let it simmer for 10 to 12 minutes, or until the potatoes are tender.
Next, wipe out the skillet used for the beef and melt butter in it. Whisk in the flour, cooking and stirring for 3 to 5 minutes until it becomes bubbly. Gradually whisk in the milk, ensuring the mixture is smooth and fully blended.
Slowly pour the milk mixture into the soup, whisking to blend. Bring it to a boil, then reduce to a simmer for about 2 minutes. Stir in the Cheddar cheese until fully melted, then season with basil, parsley, salt, and pepper to taste.
Take the soup off the heat and ladle it into bowls. Top each serving with crispy bacon and a sprinkle of extra shredded Cheddar cheese.