Prep the pan and oven: Heat the oven to 350°F (175°C). Grease a 9-inch (23 cm) round cake pan and line the bottom with parchment.
Lightly flour the sides.
Toast the hazelnuts: Spread hazelnuts on a baking sheet and toast for 8–10 minutes, until fragrant and lightly browned. If skins are on, rub them in a clean towel to remove most of the skins. Cool completely.
Grind the nuts: Pulse cooled hazelnuts in a food processor with 2 tablespoons of the flour until finely ground, like sand—not a paste.
Set aside.
Mix dry ingredients: In a large bowl, whisk remaining flour, baking powder, baking soda, and salt.
Beat eggs and sugars: In another bowl, whisk eggs, granulated sugar, and brown sugar for about 1 minute until slightly thick and pale.
Add wet ingredients: Whisk in melted butter, oil, vanilla, and optional liqueur or almond extract. Then whisk in sour cream until smooth.
Combine: Add the ground hazelnuts to the dry ingredients and stir to distribute. Pour in the wet mixture and milk.
Fold gently with a spatula just until no dry streaks remain. Do not overmix.
Pan and smooth: Pour the batter into the prepared pan and smooth the top.
Bake: Bake 35–42 minutes, until the top is golden and a toothpick comes out with a few moist crumbs. If the top browns too quickly, tent loosely with foil for the last 10 minutes.
Cool: Let the cake cool in the pan for 10 minutes, then run a knife around the edge and turn out onto a rack. Peel off parchment and cool completely.
Finish: Dust with powdered sugar, or melt the dark chocolate and drizzle over the cooled cake in thin lines.
Slice and serve.