Line a baking tray with baking paper. Unroll the puff pastry and lay out on a board or work surface. Cut out rectangles about 10x14cm/4x5.5in and place them on the baking tray.
Preheat the oven to 220C/425F. Then mix the lemon zest and a bit of salt and pepper into the cream cheese. Trim the asparagus so that it’s about 10cm/4in long.
Score a 1cm/½in border all around each pastry rectangle, then prick the inside all over with a fork (this is to stop it puffing up in the oven). Brush the border lightly with a little milk.
Spread half of the cheese all over each tart (inside the border), then lay half the asparagus over the tarts lengthways and all facing the same way. Bake for 18-20 minutes or until the pastry is puffed and golden.
About 5 minutes before the tarts will be ready, poach the eggs in a pan of boiling water for 3-4 minutes until cooked but still runny (if using). Also pan fry the bacon (if using). Arrange the bacon over the top of the tart (I split a large rasher in half and placed it in a criss-cross pattern), then carefully place the egg over the top of that.
Just before serving, scatter some parmesan shavings and fresh basil over each tart and drizzle over a tiny bit of olive oil.