Heat a saucepan until hot. Add the butter, shallots and garlic and gently fry for two minutes, or until the shallots have softened. Add the peas and stock and bring to the boil. Reduce the heat and simmer for 2-3 minutes.
Cool slightly and then transfer to a blender. Add the cream and blend to a purée. Return the mixture to the saucepan to heat through, then season to taste with salt and freshly ground black pepper.
To serve, pour the soup into serving bowls and top with a spoonful of shredded ham and crème fraîche. Top with some baby watercress and pea shoots and finish with a drizzle of olive oil.