Melt butter in a 4- to 6-quart soup pot. Saute onion until softened, about 3 minutes. Cut broccoli into florets and thinly slice tender upper portion of stems. Add to pot along with potatoes and chicken stock. Cover and simmer until potatoes and broccoli are tender, about 20 minutes. Puree mixture in several batches in food processor or blender. Return puree to soup pot and stir in milk, Parmesan cheese, salt and pepper to taste. Gently heat (a hard boil will cause the soup to break and the milk to turn to curds!)