Kook de macaroni in ruim gezouten water volgens de aanwijzingen op de verpakking. Giet af zodra de pasta gaar is en laat goed uitlekken.
Verhit de olijfolie in een ruime koekenpan en bak de ui enkele minuten tot deze zacht begint te worden.
Voeg het rundergehakt toe en bak het rul en bruin.
Voeg de tomaten, knoflook, kaneel, oregano, citroensap, peper en zout toe.
Laat de gehaktsaus ongeveer 20 tot 30 minuten rustig sudderen, zodat de smaken zich ontwikkelen en de saus iets indikt.
Klop voor de eiersaus de eieren los met de melk en breng op smaak met peper en zout.
Vet een ovenschaal in met olijfolie en bestrooi de bodem met ongeveer de helft van het paneermeel.
Verdeel ongeveer een derde van de macaroni over de bodem.
Strooi een deel van de Parmezaanse kaas over de macaroni.
Verdeel de helft van de gehaktsaus erover.
Herhaal de lagen met macaroni, Parmezaanse kaas en de resterende gehaktsaus en eindig met een laag macaroni.
Schenk de eiersaus gelijkmatig over de ovenschotel en prik op verschillende plaatsen voorzichtig met een vork, zodat de saus tussen de lagen kan lopen.
Laat de schotel ongeveer 15 minuten staan, zodat de eiersaus goed kan intrekken.
Verwarm ondertussen de oven voor op 180 °C.
Meng de resterende Parmezaanse kaas met het resterende paneermeel en verdeel dit over de bovenkant.
Verdeel de boter in kleine stukjes over de schotel.
Bak de macaroni ongeveer 30 minuten in de oven, tot de bovenkant goudbruin en de eiersaus volledig gestold is.
Laat de ovenschotel enkele minuten rusten en serveer warm.