Cover frozen peas with warm water and set aside. Prepare the sauce while the pasta is cooking. Bring a large pot of salted water to a boil, add the pasta and cook until al dente, about 8-10 minutes.
Meanwhile, heat the oil in a deep skillet over medium heat. Add the bacon and sauté, stirring occasionally, until bacon is crisp, 5-8 minutes. Transfer to a paper towel lined plate. Drain off the bacon fat, reserving about 3 tablespoons. Add the onions and cook over medium heat until golden brown, about 3-5 minutes. Toss the garlic into the skillet and sauté for less than 1 minute to soften.
In a mixing bowl, whisk together eggs and parmesan. Drain the spaghetti, reserving ½ cup of the starchy cooking water. Add the hot spaghetti to the pan and toss for 2 minutes to coat in bacon fat. Remove from heat and immediately pour in egg/cheese mixture, mixing well until the eggs thicken. Toss with reserved pasta water, bacon and drained peas. Season the spaghetti with several turns of freshly ground black pepper and taste for salt. Serve sprinkled with additional cheese.