Posiekaj fioletową cebulę. Pokrój pomidora w kostkę. Zetrzyj ser mozzarella. Na patelni rozgrzej trochę oleju roślinnego. Dodaj posiekaną cebulę i smaż, aż będzie miękka. Dodaj mięso mielone, sól, pieprz i paprykę. Smaż, aż mięso będzie dobrze przyrumienione.
Dodaj pokrojonego pomidora i sos pomidorowy. Gotuj na wolnym ogniu przez kilka minut. Ugotuj makaron zgodnie z instrukcją na opakowaniu. Odcedź i odstaw. W rondlu rozpuść masło. Dodaj 20 g mąki i mieszaj przez kilka minut, aż mąka lekko się zarumieni.
Stopniowo dodawaj mleko, ciągle mieszając, aż sos zgęstnieje. Dopraw solą i pieprzem. W dużym naczyniu do zapiekania wymieszaj ugotowany makaron z mięsem mielonym i sosem beszamelowym. Posyp startą mozzarellą na wierzchu. Piecz w piekarniku nagrzanym do 180°C przez 20-25 minut, aż ser się roztopi i zrumieni.