In a large pot, melt butter over medium heat. Add the carrots and green onions and stir occasionally for 5 minutes. Pour in the chicken broth and season with dill, bay leaf, salt, and pepper.
Stir in the potatoes, cover, and cook until the potatoes are just tender, about 20 minutes.
While the potatoes are cooking, heat olive oil in a skillet over medium high heat. Once heated, add the mushrooms and cook until beginning to darken, 5-7 minutes. Stir into the soup once the potatoes are tender.
In a small bowl, whisk together half and half and flour until no lumps remain. Stir the soup while slowly pouring in the half and half mixture. Increase heat to medium high to boil until the soup thickens. If needed, season with more salt and pepper.
Garnish with fresh dill and serve warm.