Bring a large pot of salted water to a boil over high heat. Add the pasta and cook until tender but still firm to the bite, stirring occasionally, about 8 to 10 minutes. Drain, reserving about 1 cup of the pasta water.
In a large nonstick skillet, heat the oil over medium heat. Add the onion and cook, stirring occasionally until soft, about 7 minutes. Add the carrots and stock and bring to a boil. Reduce the heat to a simmer and cook for 5 minutes. Add the peas to the pan and cook for 2 minutes until the peas are warmed through and the carrots are tender. Stir in the cooked pasta. Remove the pan from the heat and add the cheeses. Stir until the mixture is incorporated and forms a sauce. Season with salt, to taste. Transfer to a large serving bowl and garnish with chopped basil.