Cut the outer leaves of the cauliflower. Cut it into smaller florets.: The air fills with a faint, green vegetal scent as you trim the outer leaves, revealing the firm curd beneath, and the clean, slightly cabbage like aroma of fresh cauliflower is reassuring. Aim for florets of similar size so they cook evenly, about bite sized pieces that will absorb sauce without falling apart. A common mistake is cutting pieces unevenly, which leads to some pieces turning mushy while others stay underdone. If your knife work feels slow, take a steady rhythm, and keep the pieces uniform, because consistent size is what guarantees an even texture at the end.
Peel and chop the onion and garlic.: As you chop the onion , its sharp, slightly sweet sting will make you pause, and the chopped pieces should be small enough to soften quickly. Mince the garlic so it distributes through the sauce, releasing a warmer, garlicky perfume when cooked. Over chopping can lead to a pasty texture, while under chopping leaves harsh bites, so aim for a medium fine dice for both. Note that adding raw garlic too early can cause it to burn and taste bitter, so timing matters in the sauté step.
Preheat the frying pan or wok over medium heat and add the coconut oil. Add chopped onions and saute them for 3-4 minutes.: When the pan heats, you might hear a soft hiss as you add the coconut oil , and soon the onion will begin to soften and turn translucent, releasing a sweet, savory steam. Keep the heat steady so the onions sweat rather than brown too quickly, because gentle cooking develops sweetness that underpins the sauce. A common error is turning the heat too high, causing rapid browning and a bitter edge, so adjust the flame if the edges start to darken before the centers are soft.
Add chopped garlic and cook for 2 minutes.: Once the onion is translucent, add the chopped garlic and listen for a softer sizzle, accompanied by a bright, toasty aroma. Cook briefly so the garlic mellows and perfumes the pan, but watch closely because garlic burns quickly and becomes acrid. The right cue is when the fragrance turns warm and inviting without any browned bits. If you see the garlic darkening, lower the heat immediately and stir to prevent bitterness.
Add all spices (cardamom, cinnamon, coriander, cloves, bay leaf, turmeric, garam masala, cumin). Stir well and cook for 2 minutes.: Stirring the spices releases a cascade of scents, from floral cardamom to warm cinnamon , and the pan will smell intensely aromatic in seconds as the heat blooms the oils. Cook briefly to toast them and deepen flavor, but keep them moving to avoid scorching. A common pitfall is leaving spices undisturbed, which can lead to a burnt taste, so stir constantly for those two minutes to coax out their best qualities without charring.
Add tomato paste and stir well.: When the concentrated, slightly tangy scent of tomato paste hits the pan, it will darken slightly and begin to caramelize, adding umami and richness. Stir until the paste is well blended into the spiced oil and aromatics, and allow a faint sweetness to develop as raw edges fade. If the paste smells sharp or metallic, it needs a bit more cooking; continue to stir until it mellows. Not cooking the paste long enough is a typical mistake that leaves a raw tomato note in the final sauce.
Add full-fat coconut cream. Stir well. Bring it to a boil.: Pouring in the full-fat coconut cream transforms the pan into a glossy, pale sauce, and as it warms you will see it thicken and release a fragrant, sweet coconut aroma. Stir until the sauce is homogeneous, then raise heat until gentle bubbling begins. The bubbling should be steady but not violent, signaling the flavors are melding; a heavy boil can separate the cream, so moderate the heat. If the sauce looks curdled, reduce heat and whisk gently to recombine.
Add cauliflower florets. Cover with a lid and cook on medium heat for 10 minutes.: When the cauliflower meets the sauce, each floret becomes cloaked in fragrant cream, and a soft simmer should hush the pan with occasional tiny pops. Covering traps steam and ensures the florets cook through while absorbing sauce flavors. After about ten minutes, test a piece for tenderness; it should be fork tender with a slight bite. Overcooking leads to a mushy texture and a strong cabbage like scent, so check at the eight to ten minute mark and remove from heat once done.