Preheat the oven to 375°F. Grease or lightly spray the muffin cups with nonstick cooking spray.
Heat the olive oil in a large skillet over medium heat. Add the onions and the bacon and cook, stirring occasionally, until onions are deeply golden and bacon is crisp, about 15 minutes.
Add the spinach and cook, stirring, until wilted, about 3 minutes. Remove from the heat.
Whisk together the eggs, half and half, salt and pepper in a large bowl. Stir in the cheese and the bacon mixture. Divide the egg mixture evenly between the muffin cups.
Bake the frittatas until puffed and lightly golden on top; a skewer inserted in the center should come out clean, about 20 minutes. Remove from the oven and let cool for 5 minutes (the frittatas will deflate) before removing from the pan. Serve warm or at room temperature.