In a large pot, brown the ground beef over medium heat, breaking it into small pieces.
Drain excess fat and add chopped onions, cooking until translucent.
Stir in diced carrots and celery, cooking for another 5 minutes.
Sprinkle flour over the mixture, stirring to combine.
Gradually add beef broth, stirring continuously to avoid lumps.
Add diced potatoes and bring to a boil.
Reduce heat and simmer for 15-20 minutes, or until potatoes are tender.
Stir in milk and shredded cheddar cheese until melted and creamy.
Season with salt and pepper to taste.
Serve hot, garnished with optional toppings like bacon and pickles.