Preheat your oven to 375°F (190°C) and lightly grease a 9x13-inch baking dish. Bring a large pot of salted water to a boil for the pasta.
Heat the olive oil in a large skillet over medium-high heat. Add the cubed chicken, season with 1/2 teaspoon of salt and the black pepper, and cook for 6-8 minutes, stirring occasionally, until the chicken is cooked through and no longer pink in the center. Transfer the cooked chicken to a clean plate.
In the same skillet, add the chopped onion and cook for 4-5 minutes until softened. Add the minced garlic and cook for 1 more minute until fragrant. Pour in the marinara sauce, heavy cream, and Italian seasoning, and stir to combine. Bring the sauce to a gentle simmer, then remove from heat.
Cook the penne pasta in the boiling water according to package directions for al dente, usually about 9-10 minutes. Drain the pasta well and return it to the pot. Add the cooked chicken and the sauce from the skillet, along with half of the shredded mozzarella cheese. Stir until everything is evenly combined.
Pour the pasta mixture into the prepared baking dish and spread it into an even layer. Top evenly with the remaining mozzarella cheese and the grated Parmesan.
Bake for 20-25 minutes, uncovered, until the cheese is completely melted and the edges are bubbly. For a more golden top, broil for the final 2-3 minutes, watching carefully to prevent burning.
Let the bake rest for 5 minutes out of the oven before serving. Garnish with fresh chopped basil.