In a large saucepan over medium heat, melt butter. Cook onion in butter until softened. Stir in potatoes and stock, bring to a boil, then cover, reduce heat and simmer 15 to 20 minutes until potatoes are tender.
Puree potato mixture in a blender or food processor or using an immersion blender; return to pot over medium heat. Stir in cream, cheese, dill, pepper, salt and cayenne. Bring to a low boil and cook, stirring until thickened, 5 minutes.