Bring a large saucepan of salted water to a rolling boil and add the spaghetti. Cook for 8–10 minutes, stirring occasionally, until the pasta is just tender with a slight bite remaining.
While the pasta is cooking, place the pancetta or bacon in a frying pan over gentle heat. Let it cook slowly for about 7 minutes, allowing the fat to render out and melt. Once the fat has released, turn up the heat to medium-high and add the garlic to the pan. Continue cooking for 2–3 minutes, stirring frequently, until the bacon becomes wonderfully crisp and golden.
Crack the eggs into a large mixing bowl. Using a slotted spoon, transfer the crispy bacon and garlic from the pan to the bowl with the eggs, leaving most of the excess fat behind in the pan. Add the grated Parmesan cheese and season the mixture generously with salt and pepper. Whisk everything together vigorously until well combined and slightly frothy.
Once the spaghetti is cooked, drain it thoroughly and immediately return it to the hot pan—the residual heat is important for the next step. Pour the bacon and egg mixture over the hot spaghetti and toss everything together quickly and energetically, working fast so the eggs begin to set into a creamy coating rather than scrambling. Stir in the half-and-half and continue tossing over very gentle heat until everything is silky and combined. Transfer to warmed serving bowls immediately and finish with a sprinkle of fresh chopped parsley before serving while piping hot.