Peel and dice the potatoes into bite-sized pieces. Boil them in salted water for 10–12 minutes until fork-tender. Drain and allow them to cool completely.
Hard-boil the eggs, peel them, and chop into small pieces.
In a large mixing bowl, combine mayonnaise, Dijon mustard, salt, and black pepper. Stir until smooth.
Add the cooled potatoes, chopped eggs, celery, and diced onion to the bowl.
Gently fold everything together until the potatoes are evenly coated with the dressing.
Cover and refrigerate for at least 1 hour to allow the flavors to blend.
Serve chilled, garnished with fresh parsley or a sprinkle of paprika if desired.