Make the syrup: Combine chopped hazelnuts, water, and sugar in a small saucepan over medium heat. Stir until sugar dissolves completely, then bring to a gentle simmer for 8-10 minutes until the mixture is fragrant and slightly thickened.
Remove from heat and let the syrup steep for 15 minutes to deepen the hazelnut flavor. Strain through a fine-mesh sieve into a clean jar, pressing on the hazelnuts to extract all the liquid. Discard the solids.
Stir the vanilla extract into the warm syrup and let it cool to room temperature. The syrup will thicken slightly as it cools.
Pull 2 shots of espresso directly into your serving mug. If you don't have an espresso machine, brew 1/2 cup of very strong coffee using a Moka pot or French press.
Add 2 tablespoons of the hazelnut vanilla syrup to the hot espresso and stir until fully dissolved. Taste and adjust sweetness if desired.
Heat your milk to 150°F using a steam wand, microwave, or small saucepan. If you have a frother, froth the milk until it's creamy and doubled in volume with small, silky bubbles.
Pour the frothed milk into the espresso mixture, holding back the foam with a spoon. Spoon the remaining foam on top to create that signature latte layer.
Top with whipped cream if desired, and serve immediately while hot. Store any leftover syrup in the refrigerator for your next latte.