Trim cauliflower. Place stem-side down in a large pot. Add 1 inch of water and a pinch of salt. Cover and bring to a boil. Reduce heat to medium and cook until barely tender, about 15 minutes. Do not overcook. Drain by carefully tipping pot over the sink. Slide cauliflower onto a plate and set aside.
Process onions in a blender or food processor until puréed. In a large heavy pot, add onions and sauté in vegetable oil until browned.
Process tomatoes until puréed. Add tomatoes, ginger, turmeric, cayenne pepper, salt, ½ cup water, and ¼ cup coconut cream or light cream to sautéed onions. Stir until well blended.
Place cauliflower, stem-side down, in the onion mixture and cook uncovered for 15 minutes over low heat, basting frequently with the onion-tomato gravy.
Add ¼ cup of the peas and ¼ cup of the chopped cilantro. Stir in almonds and golden raisins, reserving a few almonds for garnish. Continue cooking for a few more minutes, if necessary, until cauliflower is tender, adding a little water if gravy becomes too thick.
Remove whole cauliflower using two large serving spoons, or carefully slide out of pot and place on a serving dish, stem-side down. Pour gravy over cauliflower and garnish with remaining ¼ cup cooked peas, ¼ cup chopped cilantro, and reserved almonds.