Cook the pasta in salted water til al dente. Drain.
Place the hot pasta in a large bowl and stir in the baby spinach to wilt it. Set to one side.
For the onions
To caramelize the onions, put a large frying pan on a low-medium heat and add the butter and oil.
Once hot, add in the sliced onions and garlic cloves and cook for around 15 minutes, stirring occasional, until the onions soften.
After 15 minutes, add the sugar and balsamic, and cook for another 15 minutes. Once caramelized, take off of the heat and put to one side.
To make the easy cheese sauce
Place the butter, flour and milk in a saucepan on a medium heat.
Once warm, start whisking until the ingredients get thick, this will take between 5 and 10 minutes. Be patient! When ready, the sauce should coat the back of a spoon.
Take off of the heat and add in the grated cheeses, dijon mustard and a couple of generous pinches of salt and black pepper.
Stir to incorporate and keep warm.
To make the pasta bake
Pre heat the oven to 180ºc / 350ºf
Add the onions and cheese sauce to the spinach and pasta and stir until well mixed.
Spoon the pasta mix into a large, ovenproof dish and place the goats cheese and tomatoes on top. Drizzle with a little lemon juice
Place in the oven for 30-40 minutes until piping hot. Brown the top of the pasta bake under the broiler for a few minutes before serving.
Notes
You can use dried or fresh pasta - if you use dried, cook it first.
Cook in a pre-heated oven for the best results.
Leftovers can be stored in an airtight container in the fridge for 3-4 days.
Serve with a side salad or garlic bread if you are feeling indulgent!
Nutritional values are based on one of eight servings.