1. Cook the bacon in a 10-inch ovenproof skillet over medium heat until just crisp, 3 to 4 minutes. Transfer bacon to a paper towel-lined plate; wipe drippings from skillet. Crumble bacon.
2. Add 1 teaspoon of the olive oil and the shallots to skillet; saute until soft and slightly golden, about 3 minutes. Add the spinach and saute until wilted, about 1 minute; transfer to a plate and let cool. Rinse and dry skillet.
3. Preheat the broiler. In a large bowl, whisk together the eggs, egg whites, milk, black pepper, salt, nutmeg, bacon, and 5 tablespoons of the Gruyere. Return skillet to the stove; add remaining olive oil. Pour in the egg mixture, stirring to distribute bacon. Arrange spinach and shallots over the top. Reduce heat to medium low and cook, without stirring, until edges begin to set, about 3 minutes. Cover and continue cooking 5 minutes longer or until eggs are almost set.
4. Sprinkle remaining Gruyere over the top and place the frittata under the broiler until eggs are set and top is golden and lightly puffed, 2 to 3 minutes. Remove from broiler. Run a knife around the edges to loosen, and then slice into wedges.