Preheat your oven to 375°F (190°C) and lightly grease a 9x13 inch ceramic or glass baking dish with non-stick spray or butter.
Heat olive oil in a large skillet over medium-high heat and sauté the diced chicken cubes and onions until the chicken is browned and onions are translucent, approximately 8 minutes.
Add the fresh baby spinach to the skillet in batches, stirring constantly until completely wilted, then drain any excess liquid from the pan to prevent a watery casserole.
Reduce heat to low and stir in the softened cream cheese, heavy cream, minced garlic, Italian seasoning, salt, and pepper until the cheese is melted and a smooth sauce coats the chicken.
Transfer the chicken and spinach mixture into the prepared baking dish, spreading it into an even layer with a spatula.
Distribute the shredded mozzarella cheese evenly over the top of the mixture, ensuring full coverage to create a cheese seal.
Bake for 20 to 25 minutes until the internal temperature of the chicken reaches 165°F (74°C) and the mozzarella top is bubbly and golden brown.