Prep your ingredients. Dice the onion, mince the garlic, grate the Parmesan, and measure out liquids.
If using frozen tortellini, keep it in the freezer until needed.
Brown the beef. Heat a large, deep skillet over medium-high. Add ground beef and a pinch of salt. Cook, breaking it up, until browned with crisp edges, 5–7 minutes.
Drain excess fat if needed, leaving about 1 tablespoon in the pan.
Sauté aromatics. Push the beef to one side. If the pan looks dry, add a splash of olive oil. Add onion and cook until soft and lightly golden, 3–4 minutes.
Stir in garlic and cook until fragrant, 30 seconds.
Season the base. Sprinkle in Italian seasoning and red pepper flakes (if using). Stir to coat the beef and onions so the spices bloom in the fat for fuller flavor.
Add tomatoes and broth. Pour in crushed tomatoes and broth, scraping up browned bits from the pan. Bring to a gentle simmer.
Cook the tortellini. Stir in the tortellini.
Cover and simmer on medium-low, stirring once or twice, until tender, 4–6 minutes for refrigerated or 6–8 minutes for frozen. The pasta should be just cooked and the sauce slightly reduced.
Make it creamy. Lower the heat. Stir in the heavy cream and about half of the Parmesan.
Simmer gently for 1–2 minutes to thicken. Taste and adjust salt and pepper.
Fold in spinach. Add the spinach by handfuls, stirring until it wilts into the sauce, about 1 minute. If the sauce gets too thick, splash in a bit more broth or cream.
Finish and serve. Top with remaining Parmesan and fresh basil or parsley if you like.
Serve hot right from the pan.