Preheat and prep: Heat your oven to 375°F (190°C). Lightly spray a 9x13-inch baking dish with cooking spray.
Boil the pasta: Bring a large pot of salted water to a boil.
Cook the high-protein pasta 1–2 minutes shy of package directions. Drain and set aside. Slightly undercooking prevents mushy noodles after baking.
Brown the beef: In a large skillet over medium-high heat, warm the olive oil if needed. Add the ground beef and break it up with a spatula.
Cook until no longer pink, about 5–7 minutes. Drain excess fat if necessary.
Sauté aromatics: Add onion, garlic, and bell pepper to the beef. Cook 3–4 minutes until softened and fragrant.
Season it right: Stir in salt, pepper, smoked paprika, oregano, and chili powder. Toast the spices for 30 seconds to bloom the flavors.
Build the sauce: Pour in diced tomatoes with their juices, tomato sauce, and beef broth.
Stir and bring to a gentle simmer. Let it bubble for 5 minutes to thicken slightly.
Add spinach: Stir in chopped spinach and cook until just wilted, about 1 minute.
Make it creamy: Reduce the heat to low. Stir in the Greek yogurt until smooth. Do not boil after adding yogurt, or it may separate.
Combine with pasta: Add the drained pasta to the skillet and toss to coat evenly.
Taste and adjust salt and pepper as needed.
Assemble the casserole: Transfer the mixture to the prepared baking dish. Top with shredded cheddar and sprinkle Parmesan evenly over the top.
Bake: Place in the oven and bake for 15–18 minutes, until the cheese is melted and the edges are bubbling. For a golden top, broil for 1–2 minutes at the end, watching closely.
Rest and serve: Let the casserole rest for 5 minutes to set.
Garnish with sliced green onions and serve warm.