Ετοιμάζετε την μπεσαμέλ ως εξής: Ζεσταίνετε το γάλα και το αφήνετε στην άκρη. Σε άλλη κατσαρόλα ρίχνετε το βούτυρο ή τη μαργαρίνη και προσθέτετε σιγά σιγά το αλεύρι για όλες τις χρήσεις. Ανακατεύετε συνεχώς με ένα σύρμα μέχρι να διαλυθεί το αλεύρι. Προσθέτετε το ζεστό ή χλιαρό γάλα και συνεχίζετε το ανακάτεμα με ξύλινη κουτάλα για να μη σβολιάσει.
Όταν η κρέμα δέσει, προσθέτετε αλάτι και πιπέρι. Αποσύρετε από τη φωτιά και την αφήνετε να κρυώσει ανακατεύοντας συχνά για να μην κάνει κρούστα. Κατόπιν προσθέτετε στην μπεσαμέλ, τα αυγά και τα τριμμένα τυριά και ανακατεύετε καλά.
Βουτυρώνετε ένα ταψί και στρώνετε τα μισά φύλλα, αλείφοντάς τα με βούτυρο, και μετά ρίχνετε την μπεσαμέλ, προσέχοντας να έχει παντού το ίδιο πάχος. Διπλώνετε προς τα μέσα τα φύλλα που προεξέχουν, αλείφοντάς τα με βούτυρο, και στρώνετε από πάνω τα υπόλοιπα φύλλα, κόβοντας τις άκρες που εξέχουν.
Χαράζετε την επιφάνεια της πίτας, τη ραντίζετε με λίγο νερό και την ψήνετε 40΄-45΄ στους 180° C περίπου.