Beat the butter and cream cheese in a large bowl using a hand mixer, until smooth and creamy, then beat in the sugar, till fluffy.
Add the lemon zest and juice and beat briefly (the juice might cause the butter to curdle a bit but that's ok).
Add the egg and vanilla and beat to combine.
Now sift in the flour, baking powder and salt in a large bowl, and fold to combine into a thick and sticky dough. It's almost like cake batter at this stage.
Cover the bowl with clingfilm and chill for at least 1 hour and preferably 2 hours, to make sure you can scoop it.
When ready to bake, preheat the oven to 165 C and lightly grease a baking tray or line it with a silicone mat.
Sift the icing sugar into a large, rimmed plate or tray. Use a cookie scoop (highly recommended here) or a spoon to form equal sized portions of the dough, about 1.5 tablespoons each. Roll them in the sugar and place them on the prepared tray, an inch apart. Work quickly here because the dough absorbs this sugar coating quite fast.
Bake for 10 minutes until the cookies have puffed and the tops have crinkly patches of sugar. These cookies are baked at a relatively low temperature so they will not brown and will remain soft on the top. Leave them to cool at room temperature and they will firm up, remaining slightly gooey in the center. If you prefer to bake them longer, 12 to 14 minutes is fine, keeping in mind that as they cool, they will become a little cakey and will no longer be gooey.
These cookies are best eaten the day they are made as once they're covered, the sugar on top can go a little damp (especially in humid weather) and the cookies soften further. However, they will still taste great and can be stored at room temperature for 3 to 4 days or in the fridge for about a week, where they won't soften as quickly. Happy baking!