Heat bacon in a large pot over medium-high heat until crisp and fat is rendered, about 7 minutes. Remove bacon to a paper towel-lined plated with a slotted spoon and discard all but 1 tablespoon drippings.
Return pot to stove and add onions and garlic. Season with salt and freshly ground black pepper and cook until golden, about 2 minutes. Add potato and stir to coat. Add vinegar and scrape up any browned bits. Add stock and bring to a boil. Reduce to a simmer and cook until potato is fork tender, about 20 minutes. Heat oven to 450degreesF and arrange a rack in the upper third.
When soup is ready, ladle into 8- to 12-ounce ovensafe bowls and top with two baguette slices. Pile cheese and bacon on top and repeat to make 4 to 6 servings. Place on a baking sheet and place in oven until cheese is melty and browned, about 5 minutes.
Remove from oven, let cool slightly, top each bowl with a dollop sour cream and a sprinkling of green onions and serve.