Rinse the rice in a fine mesh strainer under cold water for about 5 minutes, or until the water runs clear.
In a medium pot, combine the rinsed rice, water, cinnamon sticks, and a pinch of salt. Bring to a boil.
Once boiling, reduce the heat to low and simmer until the rice is tender, about 15-20 minutes.
Add the whole milk, sweetened condensed milk, piloncillo or Demerara sugar, and vanilla extract to the pot with the cooked rice.
Stir occasionally to prevent the mixture from sticking to the bottom of the pot. The rice and milk can scorch easily, so frequent stirring is important.
Continue to cook the mixture on low heat for about 10-15 minutes, or until the rice pudding reaches a creamy consistency. The pudding will thicken further as it cools.
Turn off the heat and let it cool slightly.
Serve the arroz con leche in small bowls or glasses.
Sprinkle ground cinnamon on top for garnish.
Enjoy warm or chilled, according to your preference.