Heat the butter and olive oil in a large pan over a medium–low heat. Add the sliced onions and a pinch of salt and cook gently for around 30 minutes, stirring often, until they are deep golden and caramelised.
Add the garlic and thyme, and cook until fragrant, around 2 minutes. Pour in the white wine and let it bubble for a minute to cook off the alcohol.
Stir in the Worcestershire sauce and balsamic glaze.
Add the pasta, beef stock, and water. Stir well and bring to a simmer.
Cook for 10–12 minutes, stirring often, until the pasta is cooked and most of the liquid has absorbed.
dd the double cream and a large handful of Gruyère, stirring together. Season with salt and black pepper.
Preheat your grill (or heat your broiler). Top with the remaining Gruyère (and a little Parmesan or mozzarella if using).
Place the pan under the grill for 5 or so minutes, until the cheese is bubbling and golden.
Bring the dish straight to the table and serve hot, ideally with crusty bread and a crisp green salad.
The video below will help with this recipe.