Gather your ingredients...
Melt the butter in a medium sized pot on a low heat
When melted add the onions, gently fry for about 5 mins until the onions are soft
Boil water in a medium sized pot, add some salt and cook the macaroni following the guidelines on the packet. Drain when finished and cool in cold water to stop it cooking and prevent sticking
Add the flour and cook on a low heat for 2 mins
It will look dry like this
Add the milk bit by bit, the sauce starts off very thick and lumpy like porridge
Add more milk and stir regularly, we don't want it to boil or get a skin on top!
Add some seasoning, salt and pepper and give it a good stir
Add all the milk and cook slowing for about 20-30mins until the sauce is considerably thick like a thick gravy
When the sauce is thick turn off the stove. Add 3/4 of the cheese and stir in really well, the cheese mixture becomes nice and gooey
Add the macaroni
Stir, stir, stir
Add to your dish and sprinkle the remaining cheese on top. Place in the oven on a med-high heat and cook for about 10-15mins to get the top nice and brown
The finished dish! Serve immediately and enjoy!