Place potatos in a medium saucepan and cover with water. Bring to a boil. Reduce heat and let simmer for about 10-12 minutes or until you can pierce them easily with a knife. Remove from heat and drain. Once cool, peel and cut into thick slices.
Preheat oven to 400 degrees.
In a large, cast iron skillet, heat oil over medium high heat. Add onions and cook about 2-3 minutes.
Add sliced potatoes and cook, stirring with onions, until golden brown, about 5 minutes. Season with salt and pepper.
Add spinach and crumbled bacon. Stir to combine and heat for about 2-3 minutes more.
In a medium bowl, combine eggs, cheese and salt and pepper. Whisk to combine well. Pour over potatoes.
Dollop sour cream on the top of the eggs and use the tip of a knife to swirl sour cream into eggs. Cook for about 2 minutes until the edges are set.
Transfer cast iron skillet into the oven and cook for 10-12 minutes until eggs are completely set.
Place a large serving plate over the pan and invert frittata onto plate.