Preheat the oven to 190°C (375°F) and grease an 8-inch (20 cm) round cake pan with oil. For a cleaner finish, dust the pan lightly with cocoa powder instead of flour to prevent white marks on the cake.
In a large bowl, beat the eggs and sugar together for 3–4 minutes until pale, thick, and slightly fluffy. Properly whipping the eggs helps create a lighter and softer cake texture.
Slowly whisk in the oil until fully incorporated, then stir in the vanilla extract if using. Mix until the batter is smooth and well combined.
In a separate bowl, whisk together the flour, cocoa powder, and baking powder (or baking soda if using yogurt). This ensures the dry ingredients are evenly distributed before combining them with the wet ingredients.
Gradually fold the dry ingredients into the egg mixture in two additions, mixing gently until almost combined. Avoid overmixing to keep the cake soft and tender.
Fold in the yogurt until fully incorporated, then gently mix in the chopped walnuts and chocolate chips, if using. Tossing the walnuts and chocolate chips with a teaspoon of flour beforehand helps keep them evenly suspended throughout the batter.
Pour the batter into the prepared cake pan and smooth the surface evenly. Bake at 190°C (375°F) for 10 minutes, then reduce the oven temperature to 175°C (345°F) without opening the oven. Continue baking for another 20–25 minutes, or until a toothpick inserted into the centre comes out clean or with a few moist crumbs attached.
Allow the cake to cool in the pan for 10 minutes before carefully transferring it to a wire rack. Let it cool completely before adding the ganache.
To prepare the ganache, heat the milk until it just begins to simmer. Pour it over the chopped chocolate and let it stand for 1–2 minutes. Stir gently until smooth and glossy, then mix in the butter if using for extra shine.
Pour the ganache over the completely cooled cake, allowing it to spread naturally and drip beautifully down the sides. Let it set slightly before slicing and serving.