Begin by washing the baby potatoes thoroughly. Place them in a large pot and cover with water. Add a pinch of salt and bring to a boil over medium-high heat. Cook for about 15-20 minutes, or until the potatoes are fork-tender.
Drain the potatoes and let them cool for a few minutes. Once cool enough to handle, gently smash each potato with the bottom of a glass or a fork, leaving them slightly intact.
In a small bowl, whisk together the olive oil, lemon juice, lemon zest, black pepper, garlic powder, onion powder, and salt until well combined.
In a large mixing bowl, combine the smashed potatoes, chopped parsley, and green onions. Pour the dressing over the potatoes and gently toss until everything is evenly coated.
Allow the potato salad to chill in the refrigerator for at least 30 minutes before serving to let the flavors meld together.