Melt butter in a large stockpot over low heat. Add leeks and onion; cover and cook for 10 minutes.
Stir in potatoes; season with salt and pepper. Add marjoram, thyme, and bay leaf; stir well. Cover and cook for 12 minutes.
Pour in chicken broth. Bring to a boil, reduce heat, and cook, partially covered, for 30 minutes.
Purée soup in a blender or food processor. Allow to cool to room temperature, then stir in cream.
To serve hot, reheat the soup slowly, so the cream does not change consistency.