Start the Soup:
1. In a large dutch oven or soup pot, cook bacon pieces on medium high heat until crispy, about 4-5 minutes. Remove bacon using a slotted spoon and drain in a bowl lined with paper towel, leaving bacon fat in pot.
2. To the pot, add carrots, onion, and celery, cooking on medium heat until onions are softened, about 5 minutes. Add salt, garlic, parsley, dill, thyme, and pepper and cook 1 minute. Add chicken broth and potatoes to the pot, scraping the bottom with a wooden spoon to remove any browned bits from the bottom.
3. Bring to a simmer over medium high heat, then reduce heat to medium low, cover, and cook until potatoes are tender, about 10 minutes.
Thicken the Milk:
1. Meanwhile, place melted butter in a medium bowl or large glass measuring cup (leave yourself some room at the top as the mixture will bubble up and thicken considerably). Whisk in flour. Whisk in milk, using a scraper to get the flour from the sides of the cup as necessary.
2. Microwave in 45-60 second intervals (Start with 60, then reduce as the milk gets thicker and closer to being done), whisking well each time, until milk has thickened considerably. Stand at the microwave and keep an eye on it as the mixture will bubble up.
Finish the Soup:
1. When the potatoes are cooked, stir in the thickened milk and cheddar cheese. Top with cooked bacon, additional shredded cheese and green onions as desired.