Bring stock to simmer in medium saucepan over low heat. Cover and keep warm.
In a large stainless steel pot set over medium-high heat, add 2 tablespoon of olive oil and heat for about 30 seconds. Add the onion and cook for about 5 minutes, or until the onion is soft and slightly browned.
Add rice and stir until rice is translucent at edges but still opaque in center, this will only take about 2 minutes.. Add all of the wine, reduce heat to medium-low and simmer until absorbed, stirring occasionally, about 3 to 4 minutes. Add 1 cup warm stock and the carrots. If you are using really thick asparagus, add it with the carrots. However, if your asparagus is thin, leave it out until later. So, with that cleared up, make sure you are stirring your risotto as it cooks and the liquid absorbs. It is important to continue with this process until the risotto is completely cooked.
Continue cooking until all the stock has absorbed then add another cup of stock. Repeat these steps until you have about 1 cup left. Remember, if you are using the thin asparagus it will be time to add it with the second last cup of stock that you add.
Add the last cup of stock along with cheese, peas, butter. Simmer until butter melts, rice and vegetables are just tender, and risotto is creamy, stirring often and adding more broth by 1/4 cupfuls if risotto is dry, about 3 minutes longer. Mix in basil and season with salt.
Transfer risotto to large shallow bowl. Sprinkle with Parmesan cheese and serve immediately.