Heat the stock in a small stockpot to a simmer. You will want it hot when you add it to the rice, but it does not need to be kept boiling.
Saute the mushrooms in a hot pan with 2 Tbsp of olive oil. I did this in two batches so as not to crowd the pan and allow the mushrooms to get nicely browned. If you put too many mushrooms in the pan at one time, the pan will not stay hot, and the mushrooms will release all their water, effectively poaching instead of roasting to a nice brown color. Set aside for later.
Quickly blanch the asparagus pieces, about 2 minutes, until they are cooked, but still firm. Set aside.
Heat 1 Tbsp. olive oil in a large heavy-bottomed saute pan or pot. Add in the onions and cook until they are soft, about 4-5 minutes. Don't let them get too brown.
Add in the rice and cook it with the onions until it becomes lightly toasted, but again, not brown then add the minced garlic and cook for 1 minute more.
Add the wine and stir until it is completely absorbed and evaporated (the rice absorbs the flavor and the alcohol cooks off).
Ladle in 1 cup of warm stock and stir. Reduce the heat to low and continue cooking until the stock is absorbed. Continue adding the stock, slowly, 1/2 cup at a time, as the rice cooks and absorbs it. Keep stirring every few minutes to help release the starch and develop the creamy texture. This will also prevent it from sticking to the bottom of the pan. As it gets the stock gets absorbed, add more.
Once most of the stock is absorbed, check the texture of the rice. It should be al dente, slightly firm in the center, but not crunchy. If it's still too firm for your taste, add more stock or water.
Fold in the cooked mushrooms and asparagus. Stir in the vegan (or real butter). Season with salt and freshly ground black pepper. If you'd like to include some freshly grated parmesan, add right before serving.
Enjoy!