Preheat oven to 450 degrees F and line a large roasting pan with parchment paper.
Combine 2 teaspoons yellow curry powder, 2 teaspoons ground cumin, 1 ½ teaspoons ground cinnamon, 1 ½ teaspoons ground turmeric, 1 ¼ teaspoons salt, ¾ teaspoon ground pepper, ⅛ teaspoon cayenne pepper, and 1 teaspoon garlic powder in a small bowl.
Toss cauliflower with 2 tablespoons oil, 1 tablespoon lemon juice in a large bowl, and 1 1/2 tablespoons spice mixture and stir to coat evenly.
Spread in a single layer on parchment lined baking sheet. Roast the cauliflower until nicely browned, 25-30 minutes. Set aside.
Heat the remaining 2 tablespoons olive oil in a large pot over medium-high heat. Add a diced onion and cook, stirring often, until starting to brown, 3 to 4 minutes. Reduce heat to medium and continue cooking, stirring often, until the onion is soft, 3 to 4 minutes. Add 2 minced garlic cloves and the remaining spice mixture. Cook for 1 minute, stirring the whole time.
Add the roasted cauliflower to the pot and cover with 8 cups vegetable broth. Bring to a boil. And then reduce the heat to a simmer and allow to cook for 20 minutes, stirring occasionally.
Once the soup is finished cooking, remove the pot from the heat and let it cool for a few minutes. Then, carefully transfer the hot soup to a blender, working in batches if necessary. (Do not fill past the maximum fill line or the soup could overflow!) Be sure to leave the lid vented so the mixture does not explode. You can also use an immersion blender, but take your time and make sure the soup is smooth.
Add the butter and blend until smooth. Add the lemon juice and blend again. Add additional salt and lemon juice to taste
Serve hot garnished with parsley, cilantro, chives, or chilies, if desired.