Trim the aubergines and slice lengthways into 3–5mm thick slices. Layer the slices in a colander, sprinkling each layer with a little salt. Leave to draw the juices for an hour or so.
Meanwhile, make the tomato sauce. Heat the olive oil in a very large, wide pan over a medium heat. Add the onions and garlic and fry gently for about 10 minutes, stirring occasionally, until soft. Add the tomatoes with their juice and the bay leaf. Bring to a simmer, then simmer briskly, stirring often, for about half an hour, or until the sauce is thick and rich. Season well with salt and pepper, and a little sugar to taste.
Quickly rinse the aubergine slices and pat dry thoroughly with kitchen paper or a tea towel. Heat a large frying pan over a medium-high heat and add 1 tablespoon oil. When the oil is hot, fry a batch of aubergine slices for about 2 minutes each side, until golden and tender. Remove and set aside. Repeat with the remaining aubergine slices, adding a little more oil to the pan before you fry each batch.
Preheat the oven to 180°C/gas mark 4. Lay a third of the aubergine slices over the bottom of an ovenproof dish, roughly 25 x 20cm, and at least 5cm deep. Cover with a third of the tomato sauce.
Dot a third of the mozzarella over the sauce, then scatter a thin layer of grated cheese over that. Repeat with the remaining ingredients, so you have three layers in the dish.
Bake for 30–40 minutes, until bubbling and golden on top. Serve with lots of fresh green salad – and bread, if you like.