Place bacon on a foil lined sheet pan. Cook in preheated oven for 20 minutes or until bacon is crisp. Cool cooked bacon strips on a paper towel lined plate and set aside.
Heat the butter in dutch oven over medium heat.
Once the butter is melted, add onions and and garlic. Sauté until translucent.
Mix in the flour and cook for 3 minutes, continuously stirring.
Slowly pour chicken broth into the dutch oven and continue to stir.
Add the potatoes, rosemary, salt and pepper.
Stir in half and half and milk.
Cover and simmer for 25 minutes, or until soup base is thickened and potatoes are cooked through. Stir frequently to prevent potatoes from sticking to bottom of the dutch oven.
When ready to serve, add half the bacon to the pot and mix in. Ladle soup into bowl and top with shredded cheddar, bacon, sour cream, and green onions.