Bring a large pot of water to a boil.
While the water is coming to a boil, heat a large Dutch oven over medium-high heat.
Render the bacon until crispy, then add the onions and garlic, cooking until just tender.
Add the heavy cream, bring to a boil, then remove the bacon mixture from the heat.
Cook the spaghetti according to package instructions.
While the pasta is cooking, combine the eggs, egg yolks, and cheese in a bowl.
Drain the pasta, reserving two cups of the pasta water.
Toss the pasta and egg mixture together in the pot with the bacon mixture, adding pasta water bit by bit to adjust consistency.
Transfer the pasta to a large serving bowl and garnish with parsley. Serve immediately.