Put a Dutch oven or heavy-bottomed skillet over medium heat. Add the olive oil, allowing it to get completely hot.
Add the diced onions, cooking for 5-7 minutes or until translucent and lightly browned.
Add the mushrooms, sprinkle with salt, and cook for at least 10 minutes or until they are reduced by half. When you drag a spatula through the middle, you should not see liquid seep into the clean "trail" through the pan.
Add the basil and garlic. Saute for 1-2 minutes.
Add the uncooked orzo, stirring it through the mixture. Toast the orzo for 1-2 minutes.
Add the stock and stir to combine.
Turn up the heat to high and bring the mixture to boil.
Once it boils, turn the heat down to low, cover, and allow the orzo to simmer for 8-10 minutes. The liquid will be reduced and the orzo will be tender.
Add the spinach, stirring to wilt it down in the orzo.
Stir in the ricotta cheese, then taste and adjust the salt and pepper.
Serve warm and garnish with parmesan cheese, fresh basil, or a dollop of ricotta.