Melt the butter in a large saucepan or soup pot over medium heat. Add the flour and stir for 2 minutes to create a roux.
Slowly stir in the stock, whisking continuously so there are no lumps.
Add the cauliflower and onions to the pot. Bring to a boil, cover, and reduce to a simmer. Cook until the cauliflower is tender, about 20 minutes.
Puree with an immersion blender until the desired consistency. Season to taste with salt and pepper. Tip: If camping you can use a potato masher to finish. The texture is more rustic (aka not as smooth) but still tastes great.