First, boil a large pot of water. Season the water with salt - 1/2 tablespoon of salt per 1 litre of water. While waiting for the water to boil, grab a large frying pan (large enough to accommodate all the pasta, bacon and asparagus) and set it over medium heat.
Combine the egg yolks, cream and Parmesan cheese in a small bowl. Whisk to combine with a fork and stir in the butter - the heat from the pasta will melt the butter later.
When the water has come to a boil, add in the penne and cook until al dente, per package's instructions.
Immediately after adding the pasta, add the chopped bacon into the frying pan - no oil is needed as the bacon will render lots of fats during cooking. Fry over medium-low heat, stirring occasionally until browned and almost crispy.
When the bacon is starting to crisp, add in the asparagus (if you're using thick asparagus, add them in slightly earlier as they'll take a longer time to cook). Stir-fry until the asparagus are tender. Season with freshly ground black pepper - do not add salt as the bacon and Parmesan cheese are very salty to begin with.
Once the pasta is al dente - remember, the pasta will continue to cook for a while after removing them from the heat - reserve 1/2 cup of cooking water and drain the pasta. Dump them immediately (do not rinse them with cold water!) into the bacon-asparagus mixture and toss to coat the pasta with the the bacon fats (very, very sinful I know!)
The most important step now: turn off the heat. Drizzle in the egg yolk mixture and toss / stir the pasta continuously until the pasta is coated with lots of creamy yumminess. If it's too thick, add in the pasta water - tablespoon by tablespoon, until it reaches the consistency you desired. Don't return the pan to the heat as it would cook the eggs.
Serve immediately (cold carbonara are yucky).
NOTES
- Adapted from one of Jamie Oliver's TV shows a very, very long time ago...