Preheat the oven to 200C/400F. Add light spray of oil to a large non-stick frying pan over a medium heat and sauté the celery and carrot for 6-8 minutes until starting to pick up a little colour. Stir in the thyme and season with a pinch of salt and plenty of pepper. Add the minced beef and mix until well combined, then sauté until well browned, breaking up any lumps with a wooden spoon. Add the tomato puree and cook for another minute or two, stirring. Pour in the tomatoes and add the Worcestershire sauce. Bring to the boil, then reduce the heat and simmer for 30 minutes until tender.
Meanwhile, arrange the aubergine and courgette slices on baking sheets lined with parchment paper. Spray with olive oil and season with a pinch of salt and plenty of pepper. Roast for 20 minutes until cooked through and tender.
Put the cornflour in a pan and whisk in the milk over a medium heat. Season with a pinch of salt and plenty of pepper and bring to the boil, whisking constantly. Reduce the heat and simmer for a few minutes until thickened, stirring occasionally. Spoon half the beef mixture into an ovenproof dish and arrange half of the vegetables on top in an even layer. Cover with half of the white sauce and scatter over half of the cheese. Repeat with the remaining ingredients and then bake for 30-40 minutes until bubbling and golden brown. Serve straight to the table with the salad, if liked.