Mix onion, eggs, flour, baking powder, and salt in a medium bowl and set aside.
Using a box grater, shred the potatoes, placing them in a big bowl of cold water as you go, to prevent them from browning. Drain and replace water about halfway through to keep potatoes white and crisp.
Drain in colander and rinse. Then, working in three batches, roll up jelly-roll style in a kitchen towel and ring tightly to remove excess water. Place in large dry bowl.
Add egg mixture to potatoes and mix thoroughly.
Heat about 8 tablespoons of oil in a large skillet over medium-high heat until hot but not smoking.
Working in batches of four, spoon two tablespoons of potato mixture per latke into skillet, spreading into a three-inch round with a fork.
Cook on side for about five minutes, until golden brown and then flip. Cook for another five minutes until golden brown.
Transfer to wire baking rack that is over paper towels and drain.
Repeat until all the latkes are made. Remove stray shreds of potato and refill oil between batches as needed between batches.