Preheat the oven to 220°C and grease a 1.75 litre ovenproof dish with butter.
Boil the penne and chopped onion in salted water, then drain and refresh in cold water.
Shake the chicken strips in a freezer bag with paprika, salt, and pepper to coat.
Fry the chicken in olive oil over high heat for 2 minutes until golden-brown and set aside.
Melt butter in a pan, whisk in flour to make a roux, and cook for 1 minute.
Gradually whisk in 750ml of hot milk until thickened and boil for 4 minutes.
Stir in the mustard, half of the cheese, salt, and pepper.
Mix the pasta and onion into the sauce.
Layer half the pasta, the chicken, then the remaining pasta in the prepared dish.
Top with tomatoes and remaining cheese, then bake for 20 minutes.