Preheat your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish and set it aside.
Bring a large pot of salted water to a boil. Add the dry pasta and cook until just shy of al dente, about 1–2 minutes less than the package directions. Drain the pasta and set it aside.
While the pasta cooks, heat the olive oil in a large skillet over medium heat.
Add the ground beef to the skillet. Cook, breaking it up with a spoon, until it is browned and no longer pink, about 6–8 minutes. Drain off any excess fat if necessary.
Stir the chopped onion into the cooked beef and cook until the onion softens and turns translucent, about 3–4 minutes.
Add the minced garlic to the skillet and cook for 30 seconds to 1 minute, stirring often so it does not burn.
Season the beef mixture with salt, black pepper, dried Italian seasoning, and paprika. If you like a mild kick, add the red pepper flakes as well. Stir to coat the beef and onions evenly with the spices.
Pour in the tomato pasta sauce and the water. Stir well, bring the mixture to a gentle simmer, and let it cook for 3–4 minutes so the flavors come together. Taste and adjust the salt if needed.
Turn off the heat and add the drained pasta to the skillet with the beef and sauce. Add 1 cup of shredded mozzarella cheese and the grated Parmesan cheese. Stir until the pasta is evenly coated and the cheese is well distributed.
Transfer the beef and pasta mixture to the prepared baking dish, spreading it out into an even layer.
Sprinkle the remaining 0.5 cup of shredded mozzarella cheese evenly over the top of the casserole.
Cover the baking dish loosely with foil and bake in the preheated oven for 15 minutes.
Remove the foil and bake for another 10–15 minutes, or until the casserole is bubbling around the edges and the cheese on top is melted and lightly golden.
Carefully remove the casserole from the oven and let it rest for about 5–10 minutes so it sets slightly and is easier to serve.
If using, sprinkle the chopped fresh parsley evenly over the top for a fresh, colorful finish. Scoop into bowls or plates and serve warm.