Preheat oven to 180C/160C fan forced. Line 3 baking trays with baking paper. Grease a 14 cup baking dish with olive oil.
Heat 2 tablespoons oil in a large heavy-based frying pan over medium-low heat. Add the onion. Season. Cook, stirring occasionally, for 30 minutes or until softened. Add the sugar and vinegar. Cook, stirring, for 10-15 minutes or until caramelised. Transfer to a bowl.
Use a sharp knife to cut through the centre core of each cauliflower to create eight 1.5cm-thick steaks (steaks may break). Cut remaining cauliflower into small florets. Reserve 1 1⁄4 cups cauliflower florets. Place the cauliflower steaks, remaining florets and garlic on 2 of the prepared trays. Brush with 1 tablespoon oil and season. Roast for 30-35 minutes or until just tender. Peel the garlic.
Halve 2 packets of the tomatoes. Place, cut-side up, on the remaining tray. Drizzle with remaining oil and sprinkle with 1 tablespoon oregano. Season. Roast for 10-12 minutes or until just tender.
Process the roasted cauliflower florets and garlic in a food processor until smooth. Add the ricotta and milk. Process until just combined. Add the egg and half the cheeses. Process until smooth. Season.
Spoon 1/3 cup ricotta mixture in the base of the prepared dish. Top with one-third of the pasta, breaking to fit. Spoon over one-third of the remaining ricotta mixture. Top with half the onion, half the cauliflower steaks and half the roasted tomato. Repeat layering, finishing with a final layer of pasta. Spoon over remaining ricotta mixture. Sprinkle with half the remaining cheese. Top with the reserved cauliflower florets. Sprinkle with remaining cheeses and oregano. Bake for 35-40 minutes or until golden and tender.
Top with the whole tomatoes. Bake for 10-15 minutes or until tender. Stand lasagne for 10 minutes before serving.
Recipe courtesy of taste.com.au
Serving size 4