Cook pasta according to package instructions and add to large mixing bowl when cooked.
Sautee chopped onion in olive oil until soft and starting to brown. Add garlic and continue to sautee for another 2-3 min until garlic is softened. Add onions and garlic to mixing bowl.
In same sautee pan, add 1 tbsp olive oil and half the diced chicken. Sautee until cooked through and browned on the outside (5-6 minutes depending on size of chicken pieces - I like to make mine small to cook faster). Add the cooked chicken to the mixing bowl. Repeat with the second half of the chicken.
Set mixing bowl aside for a bit to cool (to not cook the spinach when it is added later, unless you like the texture of cooked spinach).
Add the 3 tbsp olive oil, fresh spinach, basil, and heavy cream to a food processor and blend until desired consistency (I left my spinach and basil leaves in very small pieces but not completely liquified). Add the sun dried tomatoes and pulse until tomatoes are chopped to desired consistency (I kept it to about ¼" pieces). Mix in the parmesan cheese.
Once pasta and chicken have cooled sufficiently (warm or room temp but not hot), add spinach pesto sauce and stir well to coat and distribute evenly.
Divide pasta into 5 servings. Top with mozzarella, pine nuts, basil leaves, sundried tomatoes, and lemon zest.