Melt butter in a large saucepan or dutch oven over medium heat; cook the onion for about 4 minutes and keep stirring. Add garlic and keep stirring until the onion softens.
Add potatoes, broth, and water to the pan; bring to a boil.
Reduce the heat, simmer, covered, for about 15 minutes or longer or until the potatoes are tender.
Open the lid, add extra broth if needed. Stir in spinach and cook until it's wilted. Turn off the heat.
Carefully blend the soup using a hand blender or high-speed blender until smooth.
Return soup to the pan, add heavy cream and the optional cheddar cheese; stir until just heated through. Season with additional salt and pepper to taste if needed.
Serve and enjoy!
Notes
If you are using low sodium broth, you can skip the water and use 3 ½ cups of low sodium broth instead. Adjust seasoning with salt and pepper according to your taste.*The nutrition facts below didn't calculate the optional cheese.