Whisk together the eggs, cream and Parmesan in a bowl.
In a large non-stick pan, fry the bacon until crispy and set aside on a paper towel lined plate to drain.
Remove all but one tablespoon of the bacon grease from the pan, add the onion, cherry tomatoes and garlic and sauté over medium-high heat for 3 minutes.
Deglaze the pan with the white wine, then stir in the parsley, salt and pepper.
Cook the spaghetti according to packet instructions, until al dente. Drain the pasta and reserve 1/2 cup of the pasta water. While still warm, add to the onions and tomatoes to the spaghetti.
Add the baby spinach. Pour cream mixture into the spaghetti, and toss over low heat for 1 to 2 minutes using tongs.
If the pasta seems a little dry, add a splash of the reserved cooking water from the pasta. Serve in small bowls, topped with fried bacon and additional Parmesan.