Snap the woody ends off the asparagus. If the stalks are long, chop them into thirds or quarters. Slice the mushrooms. Peel and finely chop the shallots and garlic.
Heat a large frying pan to a medium heat. Add the lardons and cook for about 5 mins till golden brown. You shouldn’t need to add oil, but add a little splash if you think they’re too dry.
While the lardons are frying, fill a large pan with hot water. Bring to the boil. Add the spaghetti. Cover. Simmer for 6 mins, then add the asparagus. Simmer for 2 more mins till the spaghetti is cooked but not too soft.
Add the mushroom, shallot and garlic to the lardons. Add a crack of black pepper. Fry gently for 4 mins till softened.
When the pasta is cooked, use tongs to transfer the spaghetti to the frying pan, and loosen everything up with a couple of tablespoons of the pasta water.
Fold in half of the spinach to wilt it. Grate in half of the Parmesan. Season to taste.
Spoon into bowls, finishing off with spinach, shavings of Parmesan and some extra black pepper.