Preheat the oven to broil. In a medium bowl, whisk together the eggs, heavy cream, 1/2 teaspoon salt and 1/4 teaspoon pepper until smooth. Fold in the cheese and tomatoes and set aside.
In a medium oven-safe frying pan (I use a cast-iron skillet) over medium heat, melt the butter. Add the onion and saute until softened, about 5 minutes. Add the spinach and cook until just wilted, about 2 minutes. Pour the egg mixture over the spinach and cook until almost set, 2 to 4 minutes. Transfer the pan to the oven and broil until golden brown on top, about 5 minutes. Remove from the oven and turn out onto a serving plate.