Add the cauliflower florets and all the ingredients (except the oil) into a bowl and toss to combine, until all pieces are coated. Set aside or cover and marinate for at least 15 minutes.
In a pan over high heat, heat the oil. Once hot, add in the marinated cauliflower and pan char on all "sides", until all cauliflower is essentially evenly browned and crisped up, about 5 minutes. Remove the cauliflower and set aside.
While the cauliflower is marinating, heat the rest of the coconut oil. Add the onions and sauté for about 4 minutes until translucent.
Add in the the garam masala, chili powder, sea salt, ground black pepper and the curry powder. Stir together and let the seasonings cook for about 30 seconds.
Stir in the coconut milk and tomato paste, stirring for about 15 seconds to incorporate everything. You can use a whisk or just stir thoroughly to combine the tomato paste completely.
Bring the mixture to a slight boil and then reduce to a simmer and cook together for about 5 minutes, allowing the mixture to thicken.
Add in the cauliflower, combined gently to cover it with the sauce.
Reduce the heat to a simmer, cooking for another 5-10 minutes to allow the cauliflower to soak up some flavours and to marinate. Squeeze the lime over the mixture and stir to combine it into it. Taste and season with more salt if you'd like.
Remove the dish from the heat. Garnish with parsley and serve optionally with basmati rice and naan bread.