In a large stock pot, melt the schmaltz or butter over medium-high heat. Add the onions, garlic, and shallots, and cook until translucent, stirring occasionally to avoid burnt bits.
In the meantime, add the potatoes to a large saucepan and add enough water to cover. Aggressively salt the water (I normally use 2 handfuls) so that you season the potatoes as they boil- don't worry, your soup won't be too salty! Most of the salt is going down the drain after you're done boiling the potatoes. This step is important, because if you don't salt the water, you'll have a substantially blander soup regardless of how well you season it later. Bring the water to a boil with the potatoes in it, and cook them until they can be easily pierced with a knife without any resistance.
Sprinkle the flour in with the onions, garlic, and shallots, whisking vigorously as you sprinkle all of the flour in. Once the flour has all moistened, slowly add the cream, whisking the entire time. Once the cream has all been incorporated, do the same with the milk.
Once the milk has all been incorporated, slowly add the chicken stock, again whisking the entire time.
Add the chopped white and light green parts of the scallions and stir. Make sure the burner is at the right temperature for the soup to simmer.
Once the potatoes are tender, transfer them to a colander in your sink. Holding the colander by the handles, jostle the potato chunks until they get roughed up and the starch has coated the pieces of potato (see photo).
Add the cheese, green scallion pieces (leaving some aside for garnish), and potatoes to the soup and stir well to combine. Let the soup simmer for another 5 minutes or so, then taste it and add salt and pepper accordingly.
Finally, add the sour cream and stir well. Taste one last time and make any necessary adjustments to the salt and/or pepper, then ladle into a serving bowl and garnish with scallions and pieces of bacon. Serve immediately.