Heat 3 tbsp. oil in a heavy duty 12-inch skillet (preferably cast iron) over medium-high heat. Add the cauliflower and 1/2 tsp. salt - stir to coat. Cook, without stirring, until the cauliflower is browned on one side; about 4 minutes. Turn each piece over and cook, without stirring, until evenly browned on the second side, about 4 minutes more. Reduce the heat to medium and continue cooking, stirring often, until browned all over, about 4 minutes longer.
Meanwhile, in a small bowl, stir 3 tbsp. water and the remaining 1 tbsp. oil with the onion, honey, ground coriander, paprika and pepper flakes.
Add the onion mixture to the skillet and cook, stirring occasionally, until the onion is softened, about 1 minute. Continue cooking, stirring constantly, until most of the liquid has evaporated and the cauliflower is glazed - about 4 minutes.
Transfer to a serving bowl, stir in the lemon juice and zest and garnish with the cilantro. Serve immediately.