Prepare the ingredients first. Dice cold bacon and onion into small pieces. (Note that bacon is easier to cut when it's cold.) Peel and dice potatoes and measure remaining ingredients.You can dice and prepare green onion and dill when ready to add to the soup.
Preheat a Dutch oven over medium heat and melt butter in it.
Add diced bacon and cook it until about half way cooked. Add yellow onion and sauté until onion and bacon are fully cooked.
Add pressed garlic and sauté until fragrant.
Add the cubed potatoes and cook for about 5 minutes.
Pour in chicken stock (enough to just cover the potatoes) and stir well. Bring the soup to simmer on medium-high heat and then reduce heat to medium-low.
Season with salt, pepper, garlic powder and add bay leaf. Cover and cook until the potatoes are mostly tender. Take the lid off and cook until potatoes are completely tender. Make sure to stir often.
Stir in dill weed, green onion, sour cream, cheese, and heavy cream. Mix well and cook for a few more minutes and serve!