In a small bowl, beat the eggs with the freshly grated Parmesan, reserving about a tablespoon of the cheese for garnish. Season generously with pepper.
Bring a large saucepan of salted water to the boil. Cook the spaghetti according to packet instructions until al dente, or to your liking.
Meanwhile, cook the bacon. Place the olive oil in a frying pan on medium-high heat. Add the bacon and cook until browned and starting to turn crispy. Transfer to a cutting board and dice or slice into strips.
When the pasta is cooked, reserve a small amount of the cooking liquid in a cup then drain the saucepan using a colander. Transfer the pasta back into the saucepan. Add a tablespoon of the reserved cooking liquid to the pasta then stir in the bacon, spring onion and egg mixture. Work quickly so the eggs don’t scramble in the pan but keep stirring until the sauce has thickened. If the sauce is a little dry, add another spoonful of cooking liquid. If it’s a little wet, put the pot back on a medium heat, stirring continuously until the egg thickens a little. It is ready when it's a creamy consistency.
Serve immediately and garnish with grated Parmesan and a few generous cracks of black pepper.