Heat half the oil in an 18cm (base), heavy-based, ovenproof non-stick frying pan over medium-high heat. Add onion and garlic. Cook, stirring, for 3 minutes or until onion has softened. Add tomato. Season with salt and pepper. Bring to the boil. Reduce heat to low. Simmer for 5 minutes or until thickened. Transfer to a bowl. Wipe pan clean.
Meanwhile, place spinach in a heatproof bowl. Cover with boiling water. Stand for 5 minutes or until wilted. Drain. Squeeze out any excess liquid. Roughly chop. Transfer to a bowl. Add ricotta. Season with salt and pepper. Stir to combine.
Drizzle remaining oil over base of pan. Arrange 3 pieces of lasagne over base of pan. Top with one-third ricotta mixture, one-third ham and one-quarter tomato mixture. Repeat layers twice. Top with remaining 3 pieces of lasagne. Spoon over remaining tomato mixture. Top with cheeses. Preheat grill on high.
Return pan to medium-low heat. Cook, covered, for 8 to 10 minutes or until lasagne sheets are tender. Grill, uncovered, for 4 minutes or until cheese is melted and golden. Serve with mixed salad leaves.