Add 1/2 tsp salt and 2 tablespoons of oils to a pot of water and bring to the boil. And add the pasta and boil until al dente. Drain.
In a frypan, add the remaining 2 tablespoons oil, chopped onions, crushed garlic, and mushrooms and cook until onion begins to turn clear.
Add 1/4 tsp cayenne pepper (or 1 chopped chilli) and continue cooking until most of the moisture has evaporated - don't let it become dry nor burn the onions.
In a large mixing bowl combine grated cheese, cottage cheese, plain yoghurt, grated parmesan cheese, 1/2 tsp remaining salt, 1/4 tsp ground pepper. Add the elbow macaroni and onion mixture stirring to mix well.
In the same frypan (once the onion, mushroom, garlic mix has cooked and been removed), rip the 5 slices of bread into small bits, add 100g butter chopped into small chunks. Stir over a low heat until the bread is coated with the melted butter.
Grease a large baking dish, add the macaroni mixture, top with the butter coated bread. Slice the tomato and place on top of the dish.
Cook in oven for 30-40 minutes until the top is golden.
Serve with your favourite red wine :). Delicious!
Great to eat the leftovers (if any) cold as a take to work lunch the following day.