Preheat the oven to 180 C / Gas 4. Break eggs in a bowl, pour in milk, add salt and pepper and whisk until smooth. Pour mixture into a flat bowl and dip each slice of bread in until they soak the egg up.
Heat some oil in a pan on a medium heat. Add bread and cook each side until browned and egg is cooked.
Place ham on bread, cover in Gruyere cheese, add mustard and tomato sauce if using, place the other slice of bread on top and cover with Cheddar.
Place in oven for 20 minutes until cheese is melted. Serve.