1Prepare the cinnamon sugar coating by combining the granulated sugar and ground cinnamon in a shallow dish or plate. Mix well and set aside - you will use this to coat the churros immediately after frying while they are still hot. Prepare a baking sheet lined with paper towels for draining the fried churros. Fit a piping bag with a large open star tip (Wilton 1M or similar) - the star shape is essential for creating the characteristic ridged texture that makes churros so crispy. If you do not have a star tip, a large round tip will work but the churros will not have the traditional ridges.
2Make the churro dough. In a medium saucepan, combine the water, butter, sugar, and salt. Bring to a boil over medium-high heat, stirring until the butter is completely melted. Remove from heat and immediately add all the flour at once. Stir vigorously with a wooden spoon until a smooth dough forms and pulls away from the sides of the pan. This should take about 1 minute of stirring. The dough should be smooth with no lumps and form a ball in the center of the pan. Let the dough cool for 2-3 minutes - if you add the eggs while the dough is too hot, they will scramble.
3Add the eggs one at a time, beating vigorously with the wooden spoon after each addition until fully incorporated. The dough will look separated and slimy at first but keep stirring - it will come together into a smooth, glossy paste. Add the vanilla extract and stir to combine. The final dough should be thick, smooth, and pipeable - it should hold its shape when piped but still be soft enough to squeeze through the piping bag. If the dough is too stiff, add a teaspoon of water. Transfer the dough to the prepared piping bag fitted with the star tip. Twist the top of the bag closed to prevent the dough from escaping.
4While the dough is still warm, heat about 2 inches of vegetable oil in a large, deep pot or Dutch oven to 360-375 degrees F. Use a candy thermometer or deep-fry thermometer to monitor the temperature - too hot and the churros will brown before cooking through, too cool and they will absorb excess oil and become greasy. The oil is ready when a small piece of dough sizzles immediately when dropped in. Work in batches to avoid overcrowding and maintain oil temperature.
5Pipe the dough directly into the hot oil in 4-6 inch lengths, using scissors or a knife dipped in oil to cut the dough at the tip. Fry 3-4 churros at a time, turning occasionally with tongs or a slotted spoon, until golden brown all over - about 2-3 minutes per batch. The churros should be deep golden brown, not pale, to ensure they are cooked through and crispy. Remove with a slotted spoon and drain briefly on the paper towel-lined baking sheet. Immediately roll the hot churros in the cinnamon sugar mixture, coating all sides generously. The sugar sticks best when the churros are still hot and slightly oily. Repeat with remaining dough, adjusting heat as needed to maintain oil temperature.
6While frying the churros, make the chocolate dipping sauce. Place the chopped chocolate in a heatproof bowl. Heat the heavy cream in a small saucepan until it just begins to simmer - do not boil. Pour the hot cream over the chocolate and let it sit for 1-2 minutes to melt the chocolate. Add the vanilla extract and whisk until smooth and glossy. If the sauce is too thick, add more warm cream a tablespoon at a time. For traditional Spanish-style thick hot chocolate, use less cream for a denser consistency. Serve the churros immediately while warm and crispy, with the chocolate sauce on the side for dipping. Churros are best eaten fresh - they lose their crispness quickly as they cool. Arrange on a platter and serve family-style, or plate individually with a small bowl of chocolate sauce. Leftover churros can be reheated in a 400 degree F oven for 5 minutes to re-crisp, but they will never be quite as good as fresh.