Preheat oven to 180 C / Gas 4. Grease a 2L casserole dish.
Heat oil and cook and stir onion and garlic for 3 minutes until soft. Add lamb mince and cook over high heat for 3 to 4 minutes. Stir in tomato purée and cook for 1 to 2 minutes. Stir in chopped tomatoes, bay leaves and stock. Season with salt and pepper to taste. Bring to the boil then reduce heat and cook for 35 to 40 minutes.
To make the white sauce, melt butter in a saucepan, stir in flour and cook 1 to 2 minutes. Gradually whisk in milk, turn heat down and cook for 4 to 5 minutes, until thickened. Remove from heat and cool slightly. Stir in the egg and season generously with salt and pepper. Set aside.
Place half of the cooked macaroni in the bottom of the prepared casserole dish. Spoon the meat sauce over and top with remaining macaroni. Pour white sauce over and finally scatter on the grated Cheddar cheese.
Bake in preheated oven for 25 to 30 minutes until piping hot and cheese has melted.