Melt butter in a hot deep frying pan and add onions and garlic.
Reduce to low heat cover and cook for about 10 minutes then add mushrooms, pepper, and salt.
Continue cooking until onions are soft and, caramelised –approximately another 5 minutes.
In a separate bowl beat the eggs until aerated.
Add the egg mix to the top of the caramelised onion & mushrooms and sprinkle the cheese on top.
Increase heat to medium, cover, and continue cooking until the egg mix is firm.
Check to see that it is not burning on the bottom. Pierce with a skewer or fork to ensure that it is cooked through. Depending on the depth of the pan cooking time will vary (approximately 15-20 minutes).
If there is no uncooked egg on the fork place the frying pan under a preheated oven/grill on medium/high heat, to brown the top quickly.
Remove and allow to cool a little and then cut into slices.