Heat a Dutch oven or large pot over medium-high and add the ground beef; break it up slightly and let it cook without stirring for 5–6 minutes to brown.
Add the chopped onion, then stir and break the beef into small pieces; continue cooking about 5 minutes. Spoon out excess fat if there is a lot.
Stir in the minced garlic, crushed red pepper flakes (if using), Italian seasoning, and the orzo; cook about 1 minute to toast the orzo slightly.
Pour in the tomato sauce, beef broth, heavy cream, and Worcestershire sauce; bring just to a gentle simmer, then reduce heat to medium or medium-low so it bubbles gently.
Cook uncovered, stirring fairly often so the orzo doesn't stick, until the orzo is tender, about 10 minutes. Adjust heat as needed to keep a gentle simmer.
Remove the pot from heat, stir in the Parmesan and packed baby spinach until the spinach wilts and the sauce thickens, then season with salt and pepper to taste.
Cover and let rest 3–5 minutes if desired to thicken slightly, then serve immediately.