Place the potatoes in a large saucepan and add cold water to cover by 1 inch. Salt the water generously and bring to a boil over medium heat. Reduce the heat to medium-low and simmer until the potatoes are fork-tender, 7 to 10 minutes, depending on size. Drain and set aside.
Meanwhile, heat 1 tablespoon of the vegetable oil in a large cast-iron skillet over medium heat. Add the ham and saute, stirring occasionally, until crispy, about 4 minutes; transfer to a bowl. Add the onions and red peppers to the skillet and saute, stirring occasionally, until tender, 5 to 7 minutes; transfer to another bowl.
While the vegetables are cooking, smash the boiled potatoes down by hand. Add the remaining tablespoon oil and the butter to the skillet. When the butter is foaming, add the potatoes in a single layer and sear until very golden brown and crispy, 2 to 4 minutes per side. Stir in the crispy ham, onion mixture and lemon zest. Add salt and pepper to taste. Serve immediately.
It's important that the country ham is sliced very thin, like prosciutto, so it will become crisp. If you can't find country ham, substitute bacon or prosciutto.