Peel and cut the sweet potatoes into chunks. Put in a medium pan and cover with water. Bring to the boil, cover with a lid, then reduce the heat and simmer for 10 minutes or until the potatoes are tender.
Meanwhile, heat the butter in a small pan. Add the leeks and cook, without browning, for 5 minutes. Add the flour and cook for 1 minute, stirring. Gradually add in the milk and bring to the boil. Simmer for 5 minutes.
Add the cubes of salmon and mix well, then stir in the egg. Remove from the heat.
Drain the potatoes and mash well until smooth. Stir in the grated cheese. Spoon over the fish. Allow to cool slightly before serving with green beans.