Preheat oven to 350°F. Line a muffin pan with cupcake liners, set aside.
In a bowl, whisk together buttermilk, eggs, and vanilla.
In a second bowl, combine flour, sugar, baking powder, and salt. In a mixer, on a low setting, add butter in pieces into flour mixture. Increase speed to medium low. Once butter is fully incorporated, increase the speed to medium and beat until well combined.
Next, in two parts, mix in the buttermilk mixture. The first batch mix on medium. When adding the second batch, adjust it to medium high speed. Do not over mix.
Fold in the hazelnuts and chopped bacon.
Fill each cupcake liner with 3 Tbsp of batter.
Bake in oven for 18 minutes, or until the edges are light golden and a toothpick inserted in the center comes out with little or no batter on it.
Cool cupcakes on a rack for 10-15 minutes.
Once cooled down, top with icing and half a strip of bacon.