Heat the butter and oil in a large saucepan or soup pot over medium heat.
Add the leek and cook until softened (this will take about 10 mins).
Add the potato, sweet potato, herbs and stock and stir until well combined.
Bring to the boil.
Once boiling add in the ham hock.
Reduce the heat to low, partly cover with a lid and simmer for 1 hour or until the hock is tender.
Take the pot off the heat, remove the ham hock and place on a plate or chopping board to cool.
Remove the skin and any fatty bits.
Cut off the meat and shred or chop into small chunks.
Using a stick blender, puree the soup until smooth and no chunks remain.
Place half of the chopped meat into the soup.
Place saucepan or pot back over the stove over medium heat and cook for 3-5 minutes.
Pour in the cream and mix to combine.
Season with salt and pepper (taste the soup first as it may not need any salt).
Ladle the soup into bowls and top with the remaining meat and chopped herbs of your choosing.