Heat the olive oil in a large skillet over medium-high heat.
Add the Italian sausage and cook until browned, breaking it into small pieces as it cooks.
Add the diced onion and cook for 3 to 4 minutes until softened.
Stir in the garlic and cook for 30 seconds.
Add the uncooked orzo and stir for 1 minute.
Pour in the chicken broth and bring to a gentle boil.
Reduce the heat to medium-low and simmer for 10 to 12 minutes, stirring occasionally, until the orzo is tender.
Pour in the heavy cream and stir well.
Add the spinach and cook until wilted.
Stir in the Parmesan cheese, Italian seasoning, salt, black pepper, and crushed red pepper flakes if using.
Cook for another 2 to 3 minutes until the sauce is creamy.
Garnish with chopped parsley and extra Parmesan before serving.