Add milk, piloncillo, Mexican chocolate, and cinnamon stick to a medium saucepan or pot. Heat over low-medium heat until the piloncillo and chocolate have completely dissolved. Stir frequently to make sure nothing sticks to the bottom of the saucepan.
Remove and discard the cinnamon stick, using a strainer if it has broken into pieces.
In a small bowl, add warm water and masa harina. Whisk together until the mixture is smooth.
Add the masa harina mixture, vanilla extract, and salt to the saucepan. Whisk to combine.
Bring to a simmer, reduce heat to low, and continue to cook, whisking frequently, for 25-30 minutes until thick, creamy, velvety, and smooth. The champurrado should be thick enough to coat the back of a spoon.
Serve and garnish with a touch of ground cinnamon or a cinnamon stick.
Notes
Milk: Using whole milk is best since it provides a thicker and creamier texture and flavor, but you can use 2% if you prefer. You can also use almond milk to make it dairy free.
Don’t have piloncillo? You can use 2 tablespoons of dark brown sugar instead.
Don't forget to whisk! Make sure to whisk vigorously throughout the whole process to help get the drink as smooth and velvety smooth as possible. The champurrado should be completely smooth and not grainy. If it’s still a little grainy, continue whisking until it becomes smooth.