Cook the pasta in a large pan of salted boiling water, set a timer for 5 minutes.
Meanwhile, heat the olive oil in a large pan. Add the bacon and cook for 5 minutes until starting to brown.
When the timer goes off for the pasta add the broccoli and cook for a further 6 minutes until both the pasta and broccoli are cooked. Drain and set aside.
Add the chicken to the bacon and fry for a further 5 minutes until coloured all over.
Add the onions, garlic and cook until just softened and the chicken is cooked through. About 10 minutes.
Sprinkle the flour into the pan and cook for 2-3 minutes stirring so everything is well coated.
Pour in the milk and stir until well combined. Add half of the cheese to the sauce, plus salt and pepper and mustard if using, and stir well.
Allow to continue to cook over a medium heat for 5 - 10 minutes until the sauce is thick and the cheese has melted in.
Preheat the grill.
Add the drained, cooked pasta and broccoli to the sauce, stir well. Sprinkle the remaining cheese on top.
Put under the grill for about 10 minutes until crispy and bubbling.