Add in onions and sliced mushrooms; cook until tender golden brown (the onions must be browned, this may take about 5-6 minutes or a little more) adding in the chopped garlic and a pinch of cayenne pepper the last 2 minutes of cooking.
Add in the spinach and cook stirring for 2 minutes.
Add in chicken broth; bring to a boil stirring constantly.
Add in uncooked orzo, stir then reduce heat to low, cover and simmer until the orzo is tender (about 20 minutes).
Remove from heat and stir in the walnuts and Parmesan cheese.
Season with salt and fresh ground black pepper to taste.