Pierce the eggplants in a few spots with a fork and cook directly on hot coals in an outdoor grill, turning them as the skin gets charred. If a coal fire isn’t possible, cook the eggplants directly on a gas burner or under a broiler, turning them constantly. Cook the eggplants until thoroughly soft (it is better to overcook than to undercook), approximately 15 to 20 minutes, and place them in a metal colander to cool. Press down gently on the eggplants to squeeze out as much of the juice as possible without breaking them apart.
When the eggplants are cool enough to touch, carefully peel them, removing all of the charred skin. Discard sections with a lot of seeds.
Mash the remaining eggplant with a large fork or potato masher until there are no large lumps. The resulting mixture does not need to be completely smooth but should not have large, unbroken pieces of eggplant.
Heat the milk in a saucepan or in the microwave and set aside. In a large pot, melt the butter and slowly add the flour, stirring constantly to prevent clumping. Cook until the flour smells toasted—about 3 to 5 minutes. Slowly add the warm milk, stirring briskly to create a smooth mixture. Continue to cook slowly over low heat for 3 to 4 more minutes.
Add the eggplant and continue stirring until a smooth and creamy texture is achieved. Add salt and pepper. Turn off the heat, add the grated cheese to the eggplant mixture and stir well. Serve immediately.