Warm the pan: Set a large, deep skillet or Dutch oven over medium-high heat. Add olive oil.
Brown the beef: Add ground beef, season with a pinch of salt and pepper, and cook, breaking it up with a spoon, until browned and no longer pink, about 5–7 minutes.
Drain excess fat if needed.
Sauté aromatics: Add diced onion and cook until softened, 3–4 minutes. Stir in garlic and cook 30 seconds, just until fragrant.
Build the sauce: Stir in marinara (or crushed tomatoes), beef broth, Italian seasoning, and red pepper flakes if using. Bring to a gentle simmer.
Add tortellini: Stir in the tortellini, making sure it’s mostly submerged.
Reduce heat to medium, cover, and cook 4–6 minutes for fresh/refrigerated tortellini (8–10 for frozen), stirring once or twice to prevent sticking.
Check doneness: Tortellini should be tender but not mushy. If the sauce looks too thick before pasta is done, splash in a bit more broth.
Make it creamy: Lower heat. Stir in heavy cream and baby spinach.
Cook 1–2 minutes until the spinach wilts and the sauce turns silky.
Cheesy finish: Stir in mozzarella and Parmesan until melted. Taste and adjust salt and pepper.
Serve: Spoon into bowls. Top with extra Parmesan and chopped basil or parsley if you like.