Cook the bacon in a Dutch oven over medium-high heat until crisp. Remove bacon from pan, reserving 1 tablespoon drippings in pan. Crumble bacon; set aside.
Add carrot and the next 5 ingredients (carrot through garlic) to the drippings in pan; sauté 10 minutes or until browned. Stir in the broth, scraping pan to loosen browned bits. Add potato and salt. Bring to a boil; cover, reduce heat, and simmer 25 minutes or until potato is tender.
Lightly spoon flour into a dry measuring cup; level with a knife. Combine flour and milk in a small bowl, stirring with a whisk. Add to pan. Cook over medium heat until thick (about 12 minutes), stirring frequently. Remove from heat. Add cheeses, stirring until cheeses melt. Ladle into soup bowls; top with green onions and crumbled bacon.
Note: This soup will freeze well for up to two months. Pour into an airtight container, leaving enough room for expansion (usually an inch or two at the top). To reheat, thaw completely in the refrigerator; then place contents in a saucepan over low heat, adding some liquid if necessary.