In a skillet, heat 2 tablespoons of olive oil and 1 tablespoon of butter. Sauté the onion until translucent.
Add cranberries, almonds, dates, salt, and pepper, stirring to mix well. Set aside.
In a shallow, round pan with a lid, spread 1 tablespoon of olive oil and 2 tablespoons of butter.
Layer half of the cooked rice on the bottom, then add the onion mixture, and top with the remaining rice.
Drizzle saffron water over the rice, add ¼ cup more water, and the remaining oil and butter.
Cover, place a towel between the pan and lid, and cook on medium-high heat until the sides turn golden.