Prep the potatoes: Grate the potatoes on the large holes of a box grater or in a food processor.
Place the shreds in a large bowl of cold water and swish to release starch. Let sit 2–3 minutes.
Rinse and drain: Pour off the cloudy water and rinse the shreds under cold water until the water runs mostly clear. This step helps them crisp instead of clump.
Squeeze out moisture: Transfer the shreds to a clean kitchen towel.
Wrap and squeeze hard over the sink to remove as much water as possible. Excess moisture is the enemy of browning.
Season: Place the dry shreds in a bowl. Add the grated onion, salt, pepper, and optional paprika or garlic powder.
Toss to combine.
Heat the pan: Set a large, heavy skillet (cast iron is ideal) over medium to medium-high heat. Add the oil and butter. When the fat shimmers and a strand of potato sizzles on contact, you’re ready.
Form the layer: Add the potatoes in an even layer, about 1/3 to 1/2 inch thick.
Press gently with a spatula to help them make contact with the pan. Don’t overcrowd—cook in batches if needed.
Let them brown: Cook undisturbed for 5–7 minutes. Resist the urge to move them around.
You want a solid, golden crust to form.
Flip with confidence: Slide the spatula under to check the color. When deeply golden, flip in sections or invert the whole layer onto a plate and slide it back into the pan. Add a touch more oil if the pan looks dry.
Finish cooking: Cook the second side for 4–6 minutes, until crisp and browned.
Taste and adjust salt if needed.
Serve hot: Transfer to a paper towel–lined plate for 30 seconds to wick off excess oil, then serve immediately.