Melt the butter in a large soup pot or Dutch oven. Add the onions, potatoes, and garlic, and cook, stirring, for about 10 minutes.
Add the chicken broth and bring it to a boil. Reduce the heat to a simmer, and simmer for 10 minutes.
Working in batches, transfer the mixture to a food processor or blender and process until smooth. Return the pureed mixture to the soup pan.
Whisk the cream and the dry mustard together. Pour the cream mixture into the soup pot. Simmer for 5 minutes.
Add the cheese in batches, stirring until the cheese is melted between each addition.
Ladle the soup into bowls. Top with chopped chives or sliced green onions before serving.
