Pre-heat the oven to 350°F. Bring 3 cups of water to a boil in a medium saucepan. Add baking soda and nuts to the water and boil for 3 minutes. Note: the water will turn black from skins. Rinse the nuts under cold water and use your fingers to remove the skins. Pat dry with a kitchen towel. Spread hazelnuts on a baking sheet and toast in oven for 8 to 10 minutes. Let cool completely and coarsely grind.
Combine the milk, cream, 1 cup of the ground hazelnuts, salt and half of the sugar in a saucepan. Bring the mixture to a simmer over medium heat, stirring constantly, 7 to 10 minutes.
Remove the saucepan from the heat, cover the pan, and allow it to steep for 60 minutes. Strain the mixture through a sieve, pressing hard on the solids. Reserve the infused milk and discard the solids. Return the milk mixture to a simmer.
Meanwhile, blend the egg yolks and the remaining sugar with a whisk in a large bowl until pale yellow.
Temper 1/2 of the hot milk mixture into the egg yolks, whisking constantly.
Return the tempered egg mixture to the suace pan with the remaining hot liquid, stirring constantly over medium heat until the mixture is thick enough to coast the back of a spoon, about 3-5 minutes. If using an instant read thermometer, it should read around 170ºF (77ºC).
Remove the saucepan from heat, add the chocolate-hazelnut spread and whisk until dissolved.
Strain the ice cream base into a metal bowl. Immediately, transfer the bowl to an ice bath, stirring occasionally until cooled.
Cover and refrigerate until completely cooled, at least 10 hours.
Process the base in an ice cream maker according to the manufacturer’s directions. Fold remaining ¼ cup ground hazelnuts into the ice cream. Pack the ice cream in storage containers and freeze for several hours before serving to harden.