Par-cook the potatoes: Add diced potatoes to a pot of salted cold water. Bring to a boil and cook 5–7 minutes, until just tender but not falling apart.
Drain well and let steam off for a minute so they dry.
Heat the skillet: Set a large skillet over medium-high heat and add 2 tablespoons olive oil. When it shimmers, add the potatoes in an even layer. Sprinkle with salt and pepper.
Cook 6–8 minutes, turning occasionally, until golden and crisp on several sides.
Add aromatics: Push the potatoes to one side. Add 1 tablespoon more oil, then the sliced onion. Sauté 2–3 minutes until softened, then stir in the garlic and cook 30 seconds until fragrant.
Season it up: Sprinkle smoked paprika, cumin, and red pepper flakes over the pan.
Stir to coat potatoes and onions. Add the chickpeas and cook 2–3 minutes so they pick up color and spice.
Cook the asparagus: Add asparagus and a pinch of salt. Cook 3–4 minutes, stirring, until bright green and crisp-tender.
If using tomatoes, add them in the last 2 minutes just to warm and soften slightly.
Finish with lemon and herbs: Turn off the heat. Add lemon zest, 1–2 teaspoons lemon juice, and most of the chopped herbs. Drizzle with a little more olive oil.
Taste and adjust salt, pepper, and lemon.
Poach the eggs: Bring a medium saucepan of water to a gentle simmer. Add vinegar. Crack each egg into a small cup, then slide it into the water.
Poach 3–4 minutes for runny yolks. Remove with a slotted spoon and drain on a paper towel.
Serve: Spoon the hash into shallow bowls, top each with a poached egg, and finish with remaining herbs. Add a crumble of feta or goat cheese if you like, and a final squeeze of lemon.