Bring a large pot of lightly salted water to boiling.
Cook bacon in a large skillet for 10 minutes over medium heat until just crispy. Remove to a paper towel-lined plate. Reserve 2 tbsp of the drippings in skillet.
Meanwhile, cook penne in boiling water for 11 minutes. Drain.
Add 2 tbsp of the olive oil to skillet with bacon drippings. Return to medium heat. Add onion and cook 5 minutes. Add spinach and chard and cook 4 minutes until wilted. Stir in cherry tomatoes; cook 2 minutes.
In a large bowl, toss penne, bacon, spinach mixture, basil, remaining 2 tbsp olive oil, the vinegar, salt and pepper.