01 - Preheat oven to 375°F.
02 - Cook the macaroni in a large pot of salted boiling water until al dente. Drain and set aside.
03 - While the pasta cooks, heat a large skillet over medium heat. Add butter, then sauté the diced onion until soft, about 3 minutes.
04 - Add minced garlic and cook for 1 minute, until fragrant.
05 - Add ground beef and cook, breaking up with a spoon, until browned and cooked through. Drain excess fat if needed.
06 - Stir in tomato sauce, diced tomatoes, tomato paste, Italian seasoning, basil, paprika, salt, and pepper. Simmer for 5-7 minutes, stirring occasionally.
07 - Add drained macaroni to the skillet and fold to combine.
08 - Stir in half the mozzarella and half the Parmesan until well mixed.
09 - Transfer mixture to a greased 9x13-inch baking dish. Sprinkle remaining mozzarella and Parmesan evenly over the top.
10 - Bake uncovered for 15 minutes, or until cheese is melted and bubbly.
11 - Let rest for 5 minutes before serving.