Heat the oil in a large frying pan with a flameproof handle and sauté the onions and pepper for 5 minutes, or until they have softened.
Add the spinach, garlic and spring onions and continue frying for 2 minutes, or until the spinach has wilted. Then stir in the potatoes.
Beat the eggs in a large bowl with the milk, basil, chives and parsley and add salt and pepper to taste. Pour the mixture over the vegetables, reduce the heat and cook for 10-20 minutes until the egg begins to set.
Meanwhile, heat the grill to medium. Sprinkle the cheeses over the frittata, then place the pan under the grill for 2 minutes, or until the cheese has melted and turned golden. Cut the frittata into wedges and serve.
The trick for a perfect frittata is to cook over a medium to low heat and allow the mixture to set slowly without stirring. Stirring once the egg has begun to set will break the mixture apart.