Toast 1 tablespoon of coriander seeds and 1 tablespoon of cumin seeds in a sauté pan over medium heat for 2 minutes until fragrant and slightly smoking.
Allow the spices to cool, then grind them in a dedicated coffee grinder for spices.
In a gallon-sized ziplock plastic bag, combine 3 cups of plain yogurt, juice and zest of 1 lime, ground coriander and cumin, 2 tablespoons of smoked paprika, 2 teaspoons of ground ginger, 1/2 teaspoon of ground cinnamon, 1 teaspoon of turmeric, 1 teaspoon of cayenne pepper, 1 tablespoon of sugar, 1 tablespoon of kosher salt, 1 tablespoon of ground black pepper, and 3 tablespoons of minced garlic.
Pierce 1.5 kg of lamb shoulder steaks with a fork, then place them in the marinade along with 2 sliced onions and 3 cut limes.
Marinate at room temperature for 4 hours or refrigerate for a longer period.
While the lamb is marinating, prepare the pureed cauliflower by steaming 1 trimmed cauliflower head in 1 inch of boiling water until crisp-tender.
Drain the cauliflower to remove excess moisture.
While still hot, puree the cauliflower in a food processor, adding 1/4 cup of heavy cream, salt and pepper to taste, and a few grates of nutmeg.
Add 1/4 cup of chopped cilantro leaves to the cauliflower and pulse until evenly distributed. Keep warm.
Remove the lamb, onions, and lime halves from the bag, discarding the marinade.
Grill the lamb over high heat until medium-rare, then transfer to a platter and tent with foil.
Reduce heat to medium and grill onion slices and lime halves until onions are tender and caramelized.
Plate the lamb steaks with onion slices, sprinkle with the remaining 1 cup of chopped cilantro, and drizzle with juice from the charred limes. Serve the pureed cauliflower on the side.