Peel and dice the onions, peel and dice the carrot and sweet potato, and roughly chop the mushrooms. If you prefer, you can chop the main vegetables as the onions cook, but it can be easier to have everything ready.
Melt the butter in a medium pot/saucepan over a medium heat and add the onion. Cook, stirring now and then, for around 3 - 5 minutes until the onions are softened and going translucent. Try to avoid them browning too much - add a little extra butter and/or reduce the heat if needed.
Add the carrot and sweet potato to the pot and stir to mix everything through.
Cover the pan and allow the vegetables to sweat for a couple minutes, stirring occasionally. Reduce the heat as needed - you want the vegetables to sizzle slightly as they start to soften but you don't want them to brown.
After a couple minutes, add the mushrooms to the pot and mix through. If needed, add a little extra butter if you can't really see any fat in there.
Cover and sweat another couple minutes, then add the spices and flour.
Stir well, cook briefly, then add the stock. Cover, bring the mixture to the boil and reduce to a simmer for around 10 minutes until all the vegetables are tender to a knifepoint.
Remove from the heat and blend until smooth. Add the milk, mix through and serve.