Preheat the oven to 175 C. Lightly grease an 8" square baking pan and line it with baking paper leaving a little overhang for easy removal. Grease the paper well. Set aside.
Make the batter. Sift the flour, cornmeal, baking powder and salt in a large bowl.
In a mixing bowl, beat the butter and sugar until pale and fluffy.
Add the lemon zest, eggs and vanilla and beat again till smooth.
Add a third of the flour mixture, then all the yoghurt, then again a third of the flour mixture and mix gently. This way, the batter doesn't curdle because of the yoghurt.
Into the remaining flour mixture, fold in the blueberries, then add to the batter and mix very gently so that juices don't run everywhere. Coating the blueberries in flour prevents them from sinking all the way to the bottom of the batter.
Spread the batter evenly into the prepared cake tin and smooth the top.
To make the streusel topping, mix all the dry ingredients together in a small bowl, then rub the butter in to make a crumbly mixture (see notes). Sprinkle all over the cake batter, then top with almonds.
Bake for 30 to 35 mins or until the topping is lightly browned and a toothpick poked in the center of the cake comes out clean.
Allow the cake to cool for 10 minutes in the pan, then lift using the overhang of the paper and set on a wire rack to cool completely. Slice into squares and dig in! It is best to store this cake in the fridge especially in warm environments. Happy baking!