Bring a large pan of not too salted water to the boil and cook the spaghetti according to packet instructions.
While the pasta is cooking, heat a large frying pan over medium heat.
Add the pancetta and fry for about three minutes, or until the meat is golden (but not too crispy) and has rendered its fat. Turn off the heat.
In a bowl, beat the eggs and the cheeses until well combined and season with a good amount of black pepper. The cheese is already salted.
When the pasta is cooked to al dente, drain, reserving half a cup of the cooking water. Return the pancetta pan to medium heat, and pour a little of the reserved pasta water into the pan.
Stir in the spaghetti and leave the pan over the heat for a few moments to allow some of the water to evaporate and the pasta to absorb the flavours.
Working quickly, take the pan off the heat and stir in the egg and cheese mixture, moving everything around until every strand of pasta is coated and the sauce has thickened.
If it gets too clumpy, add another splash of cooking water to loosen it.