I always start by rinsing the rice under cold running water until it runs clear. This washes away the extra starch on the surface so the pudding doesn't turn gluey. It only takes a minute but makes a real difference to the final texture.
Next, I add the rinsed rice to a large pan with the water, cover it with a lid, and let it simmer gently on low heat. I leave it alone until nearly all the water has been soaked up by the rice. This softens the grains before the dairy even joins the party.
Once the water's absorbed, I pour in the milk, but I always hold back about half a cup for later. I give everything a good stir and let it simmer uncovered for around 15 minutes, stirring now and then so nothing catches on the bottom.
After that gentle simmer, I stir in the sugar until it dissolves, then add the cinnamon and cardamom. This is the stage where the kitchen starts smelling incredible. If you'd rather keep it plain, just leave the spices out here and sprinkle them on top later instead.
In a small ramekin, I whisk the reserved half cup of milk with the cornflour until it's completely smooth with no lumps. This little step is what gives the pudding its thick, custardy consistency once it hits the heat.
I pour the slurry into the pan and stir continuously with a spatula until the whole mixture visibly thickens. This usually takes just a couple of minutes, so don't wander off during this part.
I like dividing the mixture between two small clay pots, but one larger ovenproof dish works just as well. Pour the thickened pudding in and smooth the tops slightly with the back of a spoon.
I set the pots inside a deep baking tray, then pour hot water into the tray until it comes about halfway up the sides. Baking at 200°C (390°F) for around 30 minutes gives that beautiful golden-brown top that makes this pudding so special.
Once baked, I pull the pudding out and let it cool at room temperature before digging in. It firms up a bit as it cools, and the flavors settle in nicely too.