Heat the butter in a pan and sweat the onion and garlic for 5 minutes. Add the flour and cook out for 3 minutes.
Slowly pour in the stock, stirring continuously, then add the milk. Bring to the boil, add the peas and cook for no more than 5 minutes. Purée in a blender in batches. Do not overfill the blender more than half way for each batch.
Return the soup to a clean pan. Season, add the ham and warm through. Purée again and serve with crème fraiché and chopped parsley.