Préchauffer le four à 200 °C. Couper les aubergines en tranches d'environ 1 cm d'épaisseur et les répartir sur deux plaques recouvertes de papier cuisson.
Badigeonner les aubergines d'huile d'olive, puis saler et poivrer. Enfourner pendant environ 20 minutes, en les retournant à mi-cuisson si nécessaire. Elles doivent être tendres et bien dorées.
Pendant ce temps, préparer la sauce à la viande. Émincer l'oignon et hacher l'ail. Faire chauffer un filet d'huile d'olive dans une grande poêle.
Ajouter la viande hachée et la faire dorer à feu moyen-vif. La laisser saisir environ 2 minutes sans la remuer, puis l'émietter avec une spatule.
Ajouter l'oignon et l'ail et poursuivre la cuisson pendant environ 4 minutes.
Incorporer le concentré de tomate, la cannelle et l'origan. Mélanger pendant 1 minute.
Déglacer avec le vin rouge si utilisé, puis ajouter les tomates concassées. Saler et poivrer.
Laisser mijoter à feu doux pendant 10 à 12 minutes, jusqu'à obtenir une sauce bien épaisse et peu liquide.
Préparer la béchamel en parallèle. Faire fondre le beurre dans une casserole. Ajouter la farine et fouetter pendant 1 minute.
Verser progressivement le lait tiède en fouettant constamment. Faire épaissir pendant 4 à 5 minutes.
Assaisonner avec la muscade, le sel et le poivre. Retirer du feu et incorporer le jaune d'œuf.
Pour le montage, répartir une couche d'aubergines dans quatre ramequins ou petits plats à gratin.
Ajouter une couche de sauce à la viande, puis une nouvelle couche d'aubergines et une seconde couche de viande.
Recouvrir de béchamel et parsemer de fromage râpé.
Enfourner pendant 20 à 25 minutes, jusqu'à ce que le dessus soit bien doré et que les bords bouillonnent.
Laisser reposer 5 minutes avant de servir.