Chopped or sliced raw, unsalted almonds for garnish (optional)
Bring the water and rice to a boil in a medium saucepan over high heat, uncovered. Reduce the heat to low, then cover and simmer for 45 minutes for long-grain rice or 50 minutes for short-grain rice. Remove the pan from the heat and let stand for 10 minutes with the lid still on.
Place the nondairy milk, dates, and vanilla into a blender, and set aside (so the dates can soften) while the rice is cooking.
When the rice is done, add the raisins, almonds, cinnamon, and cardamom to the pan.
Blend the milk, dates, and vanilla until smooth, and stir this mixture into the pan.
Cook on medium-low for 10 to 15 minutes to allow the flavors to blend, stirring occasionally to keep the rice from sticking to the bottom of the pan. Add more milk as needed (the pudding will thicken as it cooks). Serve warm or cold in small dessert dishes. Garnish with chopped or sliced almonds if desired.
Any kind of non-dairy milk will work. I like to use soy milk since it is richer and creamier than rice or almond.
Make sure you get all the pits out of your dates, as they are quite hard if bitten down on. Add fewer dates if you want the pudding to be less sweet.