Heat the oil in a large frying pan, add the onion and fry over a medium heat for 3 mins, until softened. Turn the heat to high, add the garlic, mince and aubergine and fry for 5 mins to brown them. Add the purée, tomatoes, all herbs and stock, bring to the boil and simmer for 25 mins, until the beef is tender. Add gravy granules to thicken, if you like.
Set the oven to 200°C/400°F/Gas Mark 6. Meanwhile, cook the pasta in boiling water according to the packet instructions, then drain and set aside. To make the white sauce: Put the butter, flour and milk into a large jug. Microwave on High for 4 mins, stirring twice, until the sauce has boiled and thickened.
Stir the pasta into the meat mixture. Spoon into the dish. Pour on the sauce, sprinkle with the cheese and bake for 20 mins, until golden.