Place 1 litre (4 cups) water and the chicken stock in a medium-large saucepan. Add the chicken and bring just to a simmer over medium heat. Cover pan, reduce heat to low and simmer gently for 10 minutes.
Use tongs to transfer chicken to a board. Strain liquid, wipe out pan then return liquid to pan. Bring to the boil. Add spaghetti, cover pan but tilt lid slightly, and cook for 7 minutes, or until just al dente. Chop chicken.
Meanwhile, cook bacon in a frying pan over medium heat for 4 minutes or until just crisp and fat has rendered. Add garlic and cook, stirring, for 30 seconds. Remove from heat.
Whisk eggs in a bowl. Gradually add 250ml (1 cup) of boiling pasta water, whisking constantly. Stir egg mixture into pan, add the bacon (and the fat from the pan), chicken and cream. Season with a little salt, and stir to heat through. Divide among serving bowls, top generously with parmesan cheese and season with black pepper to serve.