Melt butter in a stockpot over medium heat; add onions, bacon, and bay leaf. Cook and stir the onion mixture until the onions are nearly clear, 5 to 7 minutes.
Pour chicken broth into the pot; add potatoes, flour, marjoram, caraway seed, salt, and pepper. Bring the mixture to a boil, reduce heat to medium-low, and simmer until the potatoes are tender, about 20 minutes.
Stir sour cream into the soup; cook another 1 to 2 minutes.