Preheat oven to 350 degrees. Combine saffron and milk in a small bowl; set aside. Place rice in a medium saucepan with 1 1/2 cups cold water. Bring to a boil over high heat, stir once, then reduce heat to low. Cover and simmer until rice has absorbed all the water, about 20 minutes.
Meanwhile, heat 2 tablespoons oil in a large saute pan over medium-high heat. Add onions; cook, stirring, until golden brown and slightly crisp, about 10 minutes. Remove half the onions from pan, and reserve. Add remaining tablespoon oil along with the spices, ginger, garlic, and tomatoes. Cook, stirring, until fragrant, about 2 minutes.
Pour 1 cup water into pan; bring to a simmer over medium-low heat. Add green beans, cauliflower, carrots, chickpeas, and salt; reduce heat to a simmer, and cover pan. Cook until vegetables are crisp-tender, about 10 minutes. Add peas, and cook until bright green, about 2 minutes. Remove pan from heat.
Place one-third of the rice in a 3 1/2-quart heavy-bottom casserole or baking dish with a tight-fitting lid. Drizzle half the saffron milk over rice. Using a slotted spoon, transfer half the vegetable mixture to the casserole, leaving liquid behind. Place another one-third of rice on top; drizzle with remaining saffron milk. Repeat with remaining vegetables and rice. Spread reserved onions over the top; sprinkle with cashews.
Cover, and bake until casserole is heated through and aromatic, about 30 minutes. Remove from oven; let cool slightly before serving.