Preheat the oven to 160 C. Line a 9x5 loaf tin with baking paper, leaving an overhang for easy removal. Set aside.
In a mixing bowl, beat the butter and cream cheese together on medium speed with a hand mixer, until smooth and creamy. Add the sugar and beat again till light and fluffy. Now add the yoghurt and vanilla and beat briefly once more.
Add the eggs one at a time, beating on low speed until combined, but do not over beat.
Now sift in the flour, baking powder and salt. Use a spatula to fold it in gently, till the flour is no longer visible and the batter is thick and smooth. Do not over mix the batter at this stage or your cake will turn out dense
Pour into the prepared baking tin, smoothen the top and bake for 1 hour until a toothpick poked in the center comes out clean. Start checking for doneness at about 45 minutes since ovens vary, and cover the top loosely with foil if it's browning too much.
Let the cake cool in the tin for 20 minutes, then use the paper overhang to lift it out and place on a wire rack to cool completely. Slice into pieces and dig in!
Store in an airtight tin at room temperature for 4 to 5 days, and in the fridge for about a week, bringing it to room temperature before eating. In humid weather, I prefer keeping it in the fridge after the first couple of days. Happy baking!