Prep the potatoes (if needed). If you don't have leftover cooked potatoes, place diced potatoes in a pot of salted water, bring to a boil, and cook for about 10 minutes until just fork-tender. Drain well, pat dry, and let cool slightly.
Heat the skillet. Heat the butter and olive oil in a large skillet over medium heat until melted and sizzling.
Cook the onion. Add the diced onion and cook for 3-4 minutes, stirring occasionally, until softened and lightly golden.
Add the corned beef and potatoes. Stir in the chopped corned beef and diced potatoes. Spread the mixture into an even layer and press it down gently with a spatula.
Let it crisp. Cook undisturbed for 4-5 minutes, allowing a golden-brown crust to form on the bottom. Flip sections of the hash (not all at once) and press down again. Cook another 4-5 minutes. Repeat this process 2-3 more times until the hash is browned and crisped to your liking.
Season and finish. Sprinkle with salt, pepper, smoked paprika, and garlic powder. Stir gently to combine and cook 1-2 more minutes.
Serve hot. Garnish with fresh herbs or scallions if desired. Serve immediately, topped with a fried or poached egg if you like.