Combine the flour, yeast, sugar, baking powder and salt in a large bowl. In a jug, whisk together the warm milk, yoghurt, egg and oil. Pour the wet mixture into the flour and mix into a soft dough.
Knead by hand for 8 to 10 minutes, or in a stand mixer for 6 to 7 minutes, until smooth and elastic. The dough should remain slightly tacky. Put it in a lightly oiled bowl, cover and leave in a warm place for about 90 minutes, until puffy and close to doubled.
Meanwhile, put the ground almonds, coconut, sultanas, sugar and cardamom in a food processor. Pulse until the sultanas are finely chopped. Add the cream a little at a time and pulse until the filling holds together when pressed but is not wet. Divide it into 6 portions.
Turn the risen dough onto a lightly floured worktop and divide it into 6 equal pieces. Shape into balls, cover and leave to rest for 20 minutes.
Flatten one dough ball into a disc about 12cm wide. Put one portion of filling in the centre, leaving a border. Draw the edges over the filling, pinch firmly to seal and place seam side down.
Press the filled ball gently, then roll it into an oval about 20cm long and 3 to 4mm thick. Use only enough flour to prevent sticking. Repeat with the remaining dough, keeping the unrolled pieces covered.
Heat a large, heavy, dry frying pan over a high heat for 3 to 4 minutes. Add one naan and cook for 60 to 90 seconds, until bubbles rise and the underside develops well browned patches.
Turn the naan and cook for another 45 to 75 seconds, until the second side is browned and no raw dough remains around the edges. Reduce the heat slightly if the flour scorches before the naan cooks through.
Transfer to a plate, brush with ghee and sprinkle with flaked almonds and sesame seeds. Cover with a clean tea towel and repeat with the remaining naans. Serve warm.