Prep the produce: Dice potatoes into 1/2-inch cubes.
Chop onion and bell pepper, mince garlic, and rinse the beans. Slice avocado and chop cilantro and scallions for later.
Par-cook the potatoes (optional but helpful): Microwave diced potatoes for 2–3 minutes until slightly tender, or simmer in salted water for 5–6 minutes. Drain well.
This step speeds up crisping.
Heat the skillet: Add 2 tablespoons oil to a large cast-iron or nonstick skillet over medium-high heat. When hot, add the potatoes in an even layer. Season with salt and pepper.
Cook 8–10 minutes, stirring only occasionally, until golden and crisp at the edges.
Sauté the aromatics: Push potatoes to one side. Add a drizzle of oil if needed. Add onion and bell pepper to the empty space and cook 3–4 minutes until softened.
Stir in garlic and cook 30 seconds until fragrant.
Season it: Sprinkle chili powder, cumin, smoked paprika, and crushed red pepper over the pan. Stir everything together so the spices lightly toast and coat the vegetables, about 30–45 seconds.
Add beans and optional mix-ins: Fold in black beans (and corn or cooked chorizo if using). Warm through for 2–3 minutes.
Taste and adjust salt and pepper. Squeeze in a little lime juice for brightness.
Create wells for the eggs: Use a spoon to make 4–6 small pockets in the hash. Crack an egg into each well.
Reduce heat to medium-low.
Cook the eggs: Cover the skillet with a lid and cook 4–7 minutes, depending on how runny you like your yolks. For jammy yolks, aim for about 5 minutes. For set yolks, go closer to 7 minutes.
Finish and garnish: Remove from heat.
Top with avocado, a few spoonfuls of salsa, chopped cilantro, and scallions. Add a sprinkle of cheese if you’d like and another squeeze of lime.
Serve: Bring the skillet to the table. Offer warm tortillas, hot sauce, and sour cream or Greek yogurt on the side.