Position a rack in the center of the oven and heat oven to 400 degrees. Trim the cauliflower, making sure the stem is cut flush with the head so it sits flat. Heat a 10-inch cast-iron or other heavy ovenproof skillet on the stove over medium heat. Add 1 tablespoon oil, the onions and ¼ teaspoon salt and cook, stirring, until translucent and turning golden on the edges, 7 to 10 minutes. Stir in ¾ cup water and remove from the heat.
Rub the cauliflower with the remaining tablespoon oil then with the pepper and remaining ½ teaspoon salt. Clear the center of the skillet and place the cauliflower in it. Add potatoes and carrots around the edge. Cover the pan tightly and place in the center of the oven. Bake until a paring knife meets no resistance when inserted into the cauliflower, 20 to 30 minutes.
Turn oven to 450 degrees. Uncover the cauliflower and baste with some of the pan juices. Cook, basting occasionally and adding ¼ cup of water to the pan if it threatens to dry out, until nicely browned, 20 to 30 minutes more. Spoon pan juices and fresh herbs over the top, and serve.