Preheat oven to 350°F and line muffin pan with cupcake liners.
Whisk soy milk and vinegar in a measuring cup and set aside for a few minutes to curdle.
Beat together the soy milk mixture, oil, sugar, vanilla in a large bowl. Sift in the flour, cornstarch, baking powder, baking soda, salt, ground cinnamon and nutmeg and mix until no big lumps remain.
Stir in the chopped hazelnuts.
Fill cupcake liners 2/3rds of the way full and bake for 20-22 minutes or until a toothpick inserted in the center comes out clean.
Transfer to a cooling rack and let them cool completely before frosting.
To make the frosting: In a small saucepan, combine all the ingredients and heat over low heat, about 10~15 minutes, stirring occasionally, until chips are melted and mixture is smooth.
Cool until the frosting thickens. To speed up the cooling process, refrigerate the mixture for 20 minutes, stirring occasionally until thickened.
Once the cupcakes are cooled completely, frost the cupcakes. Sprinkle with chopped hazelnuts.