Step 1Soak rice in the water 30 minutes.
Step 2Heat 3 tablespoons of oil in a nonstick saucepan over medium-high heat. Cook the cardamom, cinnamon and cloves, stirring, 30 seconds. Add the onions and cook until golden. Sprinkle with sugar, reduce heat to medium-low and cook, stirring occasionally, until onions are dark brown, 20 minutes. Remove half the onions, drain on paper towels and reserve.
Step 3Add the rice, its water and salt to the pan; bring to a boil. Reduce the heat, cover partially until the foam subsides, then cover snugly and cook until the water has been absorbed and the rice is tender, 12 to 15 minutes. Let rice rest 5 minutes.
Step 4Heat 1 tablespoon oil in a saucepan; add the cumin and mustard seeds. Lower heat; cover until the spluttering subsides. Add the broccoli, stir 2 minutes. Remove cinnamon stick from the rice; transfer the rice to a platter and mix in the broccoli. Top with the reserved onions.