Place the unpeeled potatoes in a pot of water, covering them by about an inch. Bring the water to boil over high heat, and then immediately remove from the heat. Let rest in the hot water for 10 minutes, and then, using tongs, remove from the hot water and rest until completely cooled. (This can be done up to 48 hours before cooking).
Peel the potatoes.
Using the shredding attachment of your food processor, or the large holes of a box grater, shred each of the potatoes.
Use a ricer or kitchen towel to squeeze out any excess water in the potatoes.
Place the shredded potatoes in a large bowl and toss with the onion, salt, and pepper.
Heat the grease (or oil) in a large non-stick skillet over medium-high heat.
Add the potatoes and move them around in the skillet with a wooden spoon, enough to coat them with the grease/oil. Then, flatten with a spatula.
Let cook for 15 minutes, nudging the potatoes from time to time with the spoon to prevent sticking to the skillet (it's okay if they stick a little, this helps to form a crispy crust).
Use your spatula to cut the hash browns down the middle of the skillet, then, flip them, adding a little more grease as you do (about another teaspoon).
Flatten again and let cook until nicely browned on both sides, about another 15 minutes.
Transfer to individual plates or a platter and serve at once.