Finely chop the pancetta, having first removed any rind. Finely grate the pecorino and parmesan and mix together.
Beat the eggs in a medium bowl and season with a little freshly grated black pepper; set aside.
Add 1 tsp salt to the boiling water, add the spaghetti and cook at a constant simmer, covered, for about 10 minutes or until al dente.
Squash the peeled garlic cloves with the blade of a knife to bruise them.
While the spaghetti is cooking, melt the butter in a large frying pan or wok and tip in the pancetta and bruised garlic.
Cook over medium heat for about 5 minutes, stirring often, until the pancetta is golden and crisp; remove and discard the garlic.
Reduce the heat under the pancetta to low. When the pasta is ready, lift it from the water and put it in the frying pan with the pancetta, allowing some pasta water to come with it.
Mix most of the cheese with the beaten eggs, leaving a small handful of cheese for sprinkling later.
Take the pan off the heat and quickly pour in the egg-and-cheese mixture, tossing the spaghetti with tongs so the mixture thickens without scrambling.
Add a few tablespoons of the reserved pasta water as needed to keep the sauce saucy but not wet; season with a little salt if needed.
Twist the pasta onto plates or bowls, sprinkle with the remaining cheese and a grating of black pepper; serve immediately, adding more hot pasta water if the sauce dries.
Tips
Use long pasta like spaghetti, bucatini or linguine for best sauce coating.
Remove pan from heat before adding egg-cheese mix to avoid scrambling the eggs.
If the pasta dries, add a splash of hot pasta water to revive the glossy sauce.