This is a terrific accompaniment to any meal -- we especially like it with beef. If you like, to save time, you can fry potatoes a little ahead of time and store them covered. Then when you're ready to make dinner, you can finish cooking them.
Peel and slice potatoes into 1/2-inch strips. Place the strips in a bowl of cold water as they are cut to prevent them from getting brown.
Drain and pat the potato strips dry. Pour oil to a depth of 3/4 inch into a large, heavy cast-iron skillet and heat until close to boiling. Divide potatoes into 3 batches and fry each batch separately; each batch should take about 10 minutes. Remove potatoes with slotted spoon or strainer and drain on paper towels. When potatoes have cooled, cut strips into 1/4-inch dice.
Preheat the oven to 400 degrees F. Heat 2 tablespoons of oil in a clean heavy skillet. When the oil is hot and begins to sizzle, add the chopped onions, paprika and salt. Saute over medium-high heat for 6-8 minutes, or until the onions start to soften and brown.
Melt the butter in a large ovenproof pan or skillet. Add the potatoes and onions, and mix together well. Saute over medium-high heat until browned and then season with salt and pepper. Transfer the pan to the oven and roast 10-15 minutes, until crisp.