In a large stock pot melt butter over low heat. Add leeks and onion, cover, and cook for 10 minutes.
Add potatoes and season with salt and pepper. Add thyme, marjoram, bay leaf and stir well. Cover pot and continue to cook for 12 minutes.
Add chicken stock (or water) and bring to a boil, reduce heat and cook, partially covered for 30 minutes.
Puree soup in blender or food processor and cool.
Prior to serving add cream. If you are serving this soup warm you need to reheat the soup slowly so that the cream does not change consistency.