Set a large Moroccan Tagine over low heat. (You could also use a large sauté pan with a tight lid.) Add the oil, onions, cilantro, garlic, and ginger. Sauté for 5-8 minutes.
Then mix in the cumin, coriander, cinnamon and rice. Stir and toast the spices and rice another 2 minutes.
Add the diced tomatoes, chickpeas, raisins, apricots, lemon zest and juice, and 1 ½ teaspoons salt to the rice. Mix well and spread evenly across the bottom of the pan. Then pour 1 ½ cups water over the top.
Place the cover over the tagine and cook for 15-20 minutes. Do not lift the lid until the 15 minutes mark. The rice should look dry on top, and there should be vent hole apparent. If it does not look fully cooked, cover and continue cooking for 5 more minutes.
Adding Fish: If you plan to add fish at the end, pat the fish fillets dry. Then salt and pepper them liberally on both sides.
One the rice has cooked for at least 15 minutes, lay the fish fillets over the top of the rice and cover. You can either turn off the heat and let them steam for 5-10 minutes, or if needed, you can continue cooking the rice for another 5 minutes, then turn off the heat. Either way, fish fillets under ½ inch thick will cook through on top of the rice in 5-10 minutes.
Then remove the lid and sprinkle the top with fresh chopped mint, cilantro, and toasted almonds. Serve warm.
If you skip the fish, this is a vegan and plant-based recipe. With or without the fish, it is gluten free and dairy free.