Start by bringing a large pot of salted water to a boil for the pasta. While waiting, mince the garlic, chop the tomatoes into 1/2-inch cubes, slice the chicken into 1-inch strips, dice the bacon into 1/2-inch pieces, and grate the parmesan cheese. Once water boils, add the penne and cook according to package directions until al dente (about 10-12 minutes), then drain and set aside. Having everything prepped before you start cooking ensures smooth workflow and prevents overcooking any components.
Heat 2 tablespoons of olive oil in a large skillet over medium-high heat. Add the diced bacon and cook until crispy, about 4-5 minutes, then remove and set aside on a paper towel. In the same skillet with the bacon fat remaining, add the sliced chicken and sear without moving for 4 minutes to develop a golden crust. Sprinkle the paprika, Italian seasoning, salt, and pepper over the chicken, flip, and cook for another 3 minutes. Reduce heat to low-medium, cover, and cook until the chicken reaches 165°F internal temperature (about 3-4 minutes more). Remove the chicken and set aside—I like to keep the bacon and chicken separate for better texture control when finishing the dish.
Using the same skillet with rendered fat from the bacon and chicken, pour in the 2 cups of heavy cream and bring to a gentle simmer over medium heat, stirring occasionally for about 2 minutes. Add the freshly grated parmesan cheese in small handfuls, stirring constantly until fully melted and smooth—this takes about 1-3 minutes and creates a silky base. Stir in the minced garlic and red pepper flakes, cooking for just 1 minute until fragrant but not browned. The residual flavors from the bacon and chicken in the pan will infuse into the cream sauce naturally.
Add the chopped tomatoes to the simmering sauce and stir gently for about 1 minute to warm through. Then add the 4 cups of fresh baby spinach in handfuls, stirring continuously over medium heat until fully wilted, about 2-3 minutes. Finish by stirring in the 1/2 teaspoon of lemon juice, which brightens the sauce and balances the richness of the cream. The heat from the sauce will gently cook the tomatoes while keeping them slightly textured rather than broken down.
Slice the cooked chicken from Step 2 into bite-sized pieces. Add the drained pasta from Step 1 to the sauce along with half of the cooked bacon from Step 2 and about one-third of the sliced chicken, folding gently to coat everything in the creamy sauce. Heat over low heat for 1-2 minutes, stirring gently until everything is warmed through and well combined. The pasta will absorb some of the sauce and the flavors will meld beautifully.
Transfer the pasta mixture to serving bowls or plates. Top each portion with the remaining chicken from Step 2, remaining crispy bacon from Step 2, and fresh parmesan cheese (using the finishing parmesan you set aside). Finish with the julienned fresh basil scattered on top for color and a fresh herb accent. I prefer finishing with fresh basil rather than cooking it in the sauce because it keeps its bright flavor and vibrant green color, which makes the dish look restaurant-quality.