In a large pot, cook chopped bacon over medium heat until crispy. Remove with a slotted spoon and set aside on a paper towel-lined plate. Leave 1-2 tablespoons of bacon grease in the pot.
Add diced onion to the pot and cook over medium heat until softened (4-5 minutes). Add minced garlic and cook for an additional minute until fragrant.
Add diced potatoes and broth. Bring to a boil, then reduce heat and simmer for 15-20 minutes, or until potatoes are tender.
Stir in chopped kale and cook for 5-7 minutes, until wilted and tender.
For a creamier texture, use an immersion blender to partially blend the soup, or transfer half to a blender and blend until smooth. (Optional)
Stir in heavy cream or half-and-half. Season with salt, pepper, and red pepper flakes, if desired. Simmer for 5 more minutes.
Ladle into bowls and top with crispy bacon. Garnish with Parmesan or cheddar, if desired.