In a large pot, sauté the diced onions over medium heat until they become translucent, about 5 minutes.
Add the minced garlic and cook for an additional minute until fragrant.
Stir in the diced potatoes and pour in the chicken or vegetable broth. Bring to a boil, then reduce the heat and let it simmer for about 20 minutes or until the potatoes are tender.
Using an immersion blender, puree the soup until smooth or mash with a potato masher for a chunkier texture.
Stir in the heavy cream, salt, and pepper. Allow it to heat through.
Mix in half of the cheddar cheese and let it melt into the soup.
Serve hot, garnished with sour cream, remaining cheddar cheese, and green onions.