Chop and cook the potatoes in a pan of boiling until tender, 10-15 minutes. Drain well and mash them. Beat in half the butter and season to taste with salt and pepper.
In another pan boil the eggs for 8-10 minutes. Run over cold water until cool enough to handle. Peel and half the eggs.
Boil the leeks in a pan of boiling water for 5-4 minutes, or until tender. Drain well and stir into the mashed potatoes.
Preheat the oven to 375 F. Grease an ovenproof dish with butter. Spoon mashed potato mix into the dish.
In a saucepan melt the butter over a low heat, whisk in the flour continuously for 1-2 minutes, until well combined. Whisk in vigorously the warm milk, bring to a boil, and simmer until the sauce is thick and smooth. Add the nutmeg and season to taste with salt and pepper. Stir in most of the cheese until melted.
Lay the eggs ace up on top of the potatoes. Cover with the sauce and sprinkle over the remaining cheese. Add a little bit of thyme and basil on top.
Bake in the oven for 20-25 minutes, until the cheese is a bit crisp and the sauce is bubbling.