Combine the rosemary with 2 tablespoons of the oil and salt and pepper in a large bowl. Cut the courgettes and red pepper into large pieces, add to the oil with the mushrooms and tomatoes and toss well. Cover and leave to marinate for 20 minutes.
Wash the rice under cold water, drain and put in a saucepan. Add lightly salted water to cover the rice by at least 5 cm (2 inches). Bring to the boil and boil for 10 minutes. Drain well.
Heat the remaining oil in a separate saucepan, add the onion, garlic and cardamom pods and cook over a medium heat, stirring frequently, for 5 minutes until lightly golden. Add the rice, cranberries, pistachio nuts, coriander and salt and pepper. Stir well, then remove from the heat, cover and leave to stand for 10 minutes.
Meanwhile, heat a ridged griddle pan until hot. Thread the vegetables alternately on to 8 wooden skewers, presoaked in cold water for 30 minutes. Add to the pan and cook, turning frequently, for 10 minutes until all the vegetables are tender. Serve with the rice and Greek-style yogurt.