Preheat the oven to 400°F. Melt the butter in a 9-inch ovenproof skillet over medium-high heat. Add the potatoes and cook for 8 to 10 minutes, until golden brown and tender. Using a slotted spoon, transfer the potatoes to a small bowl and set aside. Add the red onion and tomatoes to the pan, season with salt and pepper, and cook for 2 to 3 minutes, until the vegetables are softened. Stir in the spinach and garlic and cook for about 1 minute, until the spinach is wilted. Add the potatoes back to the pan, stirring to combine.
Meanwhile, whisk together the egg whites, eggs, heavy cream, oregano, and 1 cup of cheese in a medium bowl. Season with salt and pepper and add to the skillet. Reduce the heat to medium and cook for 5 to 6 minutes, until the eggs begin to set and the edges begin to brown. Sprinkle the remaining ½ cup of cheese over the top and transfer to the oven. Cook for 15 to 20 minutes, until the top is golden brown and the eggs are set. Remove from the oven and let cool for 10 minutes. Run a rubber spatula around the edges of the pan to loosen the frittata. Slide the frittata onto a platter and serve warm or at room temperature.