Bring a large pan of water to the boil.
In a large frying pan, warm the olive oil over a medium-low heat, then cook the onion and courgettes gently with a pinch of salt, turning them regularly with a wooden spoon until they are very soft and tender – which will take about 10 minutes. Remove the pan from the heat.
Add salt to the boiling water, stir, then add the linguine, fanning them out, and using a wooden spoon to push them down. Cook until al dente (check the cooking time of the packet and start tasting at least 2 minutes before).
While the pasta is cooking, in a large bowl whisk together the eggs, extra yolks, Parmesan, a pinch of salt and lots of pepper. During the last minutes of pasta cooking time, put the courgette pan back on the heat to thoroughly warm the fat and vegetables and add the ripped basil.
Drain the pasta, reserving some of the cooking water. Add the pasta to the frying pan, stirring so it tangles with the vegetables. Take the pan off the heat, and, working quickly, add the egg mixture and a splash of pasta cooking water, then stir and swirl the pan vigorously until each strand is coated with creamy sauce and the consistency is slithery. Add a little more pasta cooking water if it seems too stiff and stir again.