Cook the bacon or fat back until crispy, using your soup pot to catch all the grease.
Take the crispy bacon pieces out of the pot. Drop in the butter.
Add the onion, garlic, and carrot if using. Cook for a few minutes until the onion is translucent.
Now add the broth and the water, stirring.
Add the potatoes, and all the spices.
Bring to a boil, and then simmer for about 20 minutes, or until the potatoes start to soften.
Add the milk and cream. Simmer for another 15-20 minutes.
If you like a smooth potato soup, use an immersion blender to mash the potatoes. Or just use a masher to mush some up, however you prefer.
Right before you turn off the heat, add the cheese.
Turn off the heat, add the bacon pieces back in, and stir.
Enjoy!