First, make the tomato & aubergine sauce. Heat 1 tbsp of the oil in a large non-stick frying pan and cook the aubergine in 3 batches, adding 1 tbsp oil for each batch. They should be softened and lightly golden.
Add the remaining oil to the pan and cook the onions for 5 mins until softened. Stir in the garlic, cook for 1 min more, then return the aubergine to the pan with the tomatoes, tomato purée, sugar and chilli flakes. Bring just to the boil, then turn down to a simmer and cook for 10 mins. Take off the heat, stir in the basil and soy sauce,
and season to taste.
Mix together all the ingredients for the ricotta filling, season and set aside – or cover and leave in the fridge if making in advance. Both the aubergine and the ricotta sauce can be chilled for up to 2 days.
For the cheese sauce, add all the ingredients to a pan and cook over a medium heat, stirring all the time, until it thickens and the cheese has melted, then turn down the heat to low and cook for another 5 mins. Season to taste.
Heat oven to 180C/160C fan/gas 4. To assemble the lasagne, spoon half the aubergine mixture into the bottom of a large baking dish. Top with a layer of lasagne sheets, then spread over a ricotta layer. Add another layer of lasagne sheets, followed by the remaining aubergine mixture and another layer of lasagne sheets. Pour over the cheese sauce (it can now be frozen for 1 month – defrost before cooking). Bake in the oven for 50 mins-1 hr until golden and heated through.