I saute finely chopped onions, bacon and tomatoes in a fry pan, (with a touch of olive oil), and leave that to rest.
Then I make a roux, a white sauce, to the consistency I like, stirring constantly to ensure it doesn't catch, or have lumps. Give it a brisk whisk if you need to. (I find having a furious conversation with someone in my head seems to make for a very good roux!). I make it in a dutch oven.
Add the cheese to the sauce, stirring constantly.
Add the bacon, tomato and onion to the roux, and taste for whether it needs more salt. If so, add it, if not, grind some pepper into it.
Boil the pasta according to packet instructions, in a different pot, if you haven't already.
After thoroughly draining the pasta, add it to the roux and bacon/tomato, onion mixture.
Then bake in the oven on a lower heat, for at least an hour.