Cut the broccoli into florets and chop the stems into small chunks.
Dry fry the pine nuts in a small pan over medium-low heat until toasted.
Boil salted water and cook the onion and penne according to packet instructions.
Add broccoli to the boiling water three minutes before the pasta is finished.
Drain the mixture and rinse broccoli in cold water to stop the cooking.
Fry the bacon in a large pan for 10 minutes until crisp and reserve two tablespoons.
Stir the bacon, pesto, tomatoes, and broccoli into the cooked pasta.
Season with pepper, transfer to a dish, and top with nuts, reserved bacon, and cheese.