Preheat oven to 200°C (400°F). In a large bowl, combine the cauliflower, 15ml (1 tablespoon) of olive oil, 1 teaspoon of garam masala and a generous amount of salt and pepper. Toss to combine and transfer to a parchment-lined baking sheet. Roast cauliflower for about 30 minutes, or until very tender and browned.
About 10 minutes before the cauliflower is done, add remaining 15ml of olive oil to a large saucepan over medium heat. Heat until shimmering and add shallots. Saute shallots until softened and translucent, about 5-10 minutes.
Add 2 teaspoons of garam masala, cumin and chili flakes to the shallots. Cook until very fragrant, about 30 seconds, before adding the garlic and cooking for a further 30 seconds.
Pour over vegetable stock and bring to a gentle simmer. Add roasted cauliflower to the jar of a blender and pour over vegetable stock mixture. Blend on high for about 1 minute or until completely smooth.
Pour pureed soup back into the pot. Stir in lemon juice. Taste to adjust for seasoning, adding salt and pepper where needed. Serve.