Preheat oven to 375°F (190°C) and grease a 9×13-inch baking dish.
In a large skillet, brown the ground beef over medium heat. Drain any excess fat.
Stir in diced onion and minced garlic; cook for 2–3 minutes until softened.
Add tomato sauce, diced tomatoes, Italian seasoning, salt, and black pepper. Simmer for 5 minutes.
Boil elbow macaroni until al dente, then drain and set aside.
In a large bowl, mix the pasta, beef sauce, cheddar, mozzarella, and sour cream until well combined.
Transfer mixture into the prepared baking dish and sprinkle Parmesan cheese evenly on top.
Bake uncovered for 25–30 minutes, or until bubbly and golden on top.
Let the casserole rest for 5 minutes before serving warm.