Heat 5 Tbsp. of the oil in a wide non-stick or cast-iron skillet. Add the potatoes and sweet potatoes and cook over medium heat, stirring often, until they are cooked through and golden, about 20 minutes.
Separate any slices that stick together so that they'll cook evenly. When done, transfer to a bowl with a slotted spoon.
If there is no oil left in the pan, add another Tbsp. and saute the onions until they're lightly browned. Add the onions to the potatoes and sweet potatoes and season well with salt and pepper. Pour in the beaten eggs.
Wipe out the pan with a paper towel, return it to the stove and add 2 Tbsp. oil. Pour in the egg and potato mixture, smooth down any potatoes and sweet potatoes that stick up, and cook over low heat until golden on the bottom, about 10 minutes. Invert the frittata onto a plate, slide it back into the pan, and cook until set, a few minutes.