Preheat the broiler to high. Grease a large rimmed baking sheet with extra virgin olive oil.
In a large bowl, combine the cauliflower florets, 1/2 cup coconut milk, 2 cloves minced garlic, 1 tablespoon grated ginger, and kosher salt and black pepper to taste. Stir to coat and let marinate 10 to 30 minutes.
Spread the marinated florets in an even layer on the prepared baking sheet. Broil 3–4 minutes, until the edges of the florets just start to char. Remove from the oven.
While the cauliflower is broiling, heat a large cast-iron (or other heavy) skillet over medium heat and add the extra virgin olive oil.
Add the diced yellow onion and cook, stirring occasionally, for 4–5 minutes, until softened.
Add the remaining minced garlic (2 cloves) and the remaining grated ginger (1 tablespoon). Cook, stirring, for another 4–5 minutes.
Stir in the garam masala (2 tablespoons), red curry powder (2 teaspoons), turmeric (1/2 teaspoon), and cayenne pepper (1/2 teaspoon). Cook, stirring, for about 1 minute until the spices are fragrant.
Add the 6 oz can of tomato paste and the remaining coconut milk (2 cups). Stir to combine and bring the sauce to a boil. Cook 5–7 minutes, stirring occasionally, until the sauce begins to thicken.
Stir in the coconut oil (2 tablespoons) until melted and incorporated. Taste and adjust with kosher salt and black pepper as needed.
Add the broiled cauliflower florets and any juices from the baking sheet to the skillet. Gently toss to coat and cook, stirring, about 5 minutes more, until the cauliflower is heated through and the sauce thickens to your liking.
Remove the skillet from the heat and sprinkle with the chopped fresh cilantro (1/4 cup).
Serve the coconut butter cauliflower over rice with naan on the side.