In a large skillet over medium heat, cook the chopped bacon until crispy, about 5-7 minutes.
Remove the bacon from the skillet and set it aside on a paper towel-lined plate to drain.
While the bacon is cooking, season the chicken breast pieces with half of the salt and pepper.
In the same skillet used for the bacon (drain excess bacon fat if needed), add a little oil and cook the chicken over medium heat for about 5-7 minutes, turning occasionally, until fully cooked and golden brown.
Once cooked, remove the chicken from the skillet and set aside.
In a large pot, bring water to a boil. Add a pinch of salt, then cook the spaghetti according to the package instructions until al dente.
Drain the pasta and set it aside, reserving about ½ cup of the pasta cooking water.
In the same skillet used for the bacon and chicken, add a little oil if needed, and sauté the chopped onion over medium heat until translucent, about 3-4 minutes.
Add the minced garlic and cook for another 1 minute, until fragrant.
Stir in the heavy cream and bring to a simmer.
Mix the cornstarch with 2 tablespoons of water in a small bowl to create a slurry. Stir this into the simmering cream to thicken the sauce. Cook for 2-3 minutes until the sauce has thickened slightly.
Add the grated Parmesan cheese to the sauce, stirring until melted and combined.
Add the cooked bacon and chicken to the sauce. Stir to combine and heat through.
Add the cooked spaghetti to the skillet, tossing well to coat the pasta with the sauce. If the sauce is too thick, add a bit of the reserved pasta water until you reach your desired consistency.
Taste and adjust seasoning with more salt and pepper if needed.
Serve immediately, garnished with additional Parmesan cheese if desired.