2Whisk together eggs, basil, Parmesan, 1/4 teaspoon salt, and 1/4 teaspoon pepper in a large bowl.
3Cook pancetta in a 10-inch heavy skillet over medium heat, stirring, until crisp. Transfer with a slotted spoon to a large bowl then pour off all but 2 tablespoons fat.
4Add potatoes and 1/4 teaspoon each of salt and pepper to skillet, and sauté over medium-high heat until golden, about 3 minutes.
Cover skillet and continue to cook over medium-low heat, stirring a few times, until potatoes are just tender, about 3 minutes more. Transfer the potatoes with a slotted spoon to bowl containing the pancetta.
5Add 1 tablespoon oil to skillet and sauté onion and garlic over medium-high heat until pale golden, about 4 minutes, then add spinach and sauté until just wilted.
6Gently add the potatoes and pancetta, the roasted peppers, and remaining tablespoon of oil into onion mixture, spreading it evenly.
7Pour egg mixture evenly over vegetables and cook over medium-high heat, lifting up cooked egg around edges with a heat-proof spatula to let uncooked egg flow underneath, 2 to 3 minutes.
Reduce heat to medium and cook, covered, until it appears mostly set, with a moist top and center, 3 to 5 minutes more.
8Remove lid. If using the Provolone, broil frittata 5 to 7 inches from heat until set, but not browned, 1 to 2 minutes, then top with an even layer of cheese and continue to broil until browned and bubbling, 1 to 3 minutes (watch carefully).
9If skipping the cheese, broil frittata until the top is lightly browned, 1 to 3 minutes (making sure it doesn't burn).
10If using a nonstick skillet, slide the frittata onto a serving plate. If using a cast-iron skillet, cut and serve wedges directly from the skillet.