In a medium bowl, whisk together the olive oil, lemon juice, lemon zest, honey, dijon mustard, minced garlic, salt, black pepper, and red pepper flakes until fully emulsified. The vinaigrette can be made while the pasta water comes to a boil, so this is a perfect first step. I like to make sure the mustard is fully incorporated as it acts as an emulsifier to keep the dressing from separating.
Bring a large pot of salted water to a boil and cook the penne according to package directions until al dente. Drain the pasta in a colander but do not rinse it—the starch on the surface helps the dressing cling to each piece. Transfer the warm pasta to a large mixing bowl immediately so it can begin absorbing the vinaigrette while still warm.
Pour the vinaigrette from Step 1 over the warm pasta and toss gently to coat every piece. Then add the cooked chicken, crumbled bacon, halved grape tomatoes, sliced green onions, grated parmesan cheese, and torn basil. Toss everything together until well combined. I find it's important to add the fresh basil and green onions now rather than at the end—they'll soften slightly and distribute their flavors throughout the salad as it sits.
Taste the salad and adjust the seasoning with additional salt and pepper if needed—remember the pasta, chicken, and cheese already contain salt, so go easy. Cover the bowl and let the salad sit at room temperature for 30 minutes before serving. This resting time allows the flavors to meld together and gives the pasta time to fully absorb the dressing.
Just before serving, give the salad a quick toss to redistribute any dressing that may have settled at the bottom. Top with extra fresh basil and additional grated parmesan cheese for a fresh, vibrant finish. Serve at room temperature or chilled, depending on your preference.