Affettare le cipolle molto finemente, farle appassire in una padella con un filo di olio profumato con qualche fogliolina di salvia. Salare e cuocere a fiamma bassa finchè le cipolle saranno trasparenti.
Far rassodare le uova calcolando 8 minuti di cottura, raffreddarle, sgusciarle e tagliarle fettine. Tagliare anche il prosciutto a pezzetti più o meno grandi come le fettine di uova.
Imburrare una pirofila, disporre le fettine di uova, sopra le uova le fettine di prosciutto, sopra ancora la cipolla appassita. Continuare così fino a finire gli ingredienti.
Fare la besciamella e versarla sopra al preparato, aggiungere una bella spolverata di formaggio grattugiato e far gratinare in forno già caldo a 180 per circa 15 minuti o fino a che la besciamella non è bella dorata.