Trim the asparagus, discarding the woody part of the stem. Cut the remainder into short lengths, reserving a few tips for garnishing.
Blanch the reserved tips in boiling salted water for one or two minutes. Drain and refresh in cold water. Blanch the remaining asparagus in boiling water for two to three minutes. Drain and refresh in cold water.
You can also cook them in the microwave oven - just sprinkle a little water and cook for one minute. Purée in a blender. Melt the butter in a pan and add the onions. Sauté over a low heat until lightly browned.
Stir in the flour and cook for one minute, then gradually add the stock and whisk so that no lumps are formed. Bring the mixture to a boil.
Toast the almonds over medium heat till the skins change colour slightly. Remove from heat, cool and slice into slivers.
Simmer the soup for two to three minutes or until thickened, then stir in the asparagus purée and stir. Add spinach puree and stir to mix well.
Add salt and crushed peppercorns. Add the milk and simmer for two to three minutes, stirring continuously.
Serve hot, garnished with the blanched asparagus tips and almond slivers.