Heat a large skillet over medium-high heat and add 1 tablespoon oil. Add diced potatoes. Sauté until they start browning and soften a bit, about 8–10 minutes. Stir occasionally to avoid sticking.
Push potatoes to the side, add the remaining tablespoon of oil. Drop in the onions (and pepper if using). Cook until translucent and a little caramelized, 3–5 minutes. Garlic goes in last minute to avoid burning.
Add the ground beef. Break it up with a wooden spoon and cook until no pink remains, about 5–7 minutes. Drain excess fat if needed.
Stir in paprika, cumin, salt, and pepper. Mix well so every bite has flavor. Pour in water or broth and cover for 2–3 minutes to help potatoes finish cooking.
Uncover and cook a few more minutes until potatoes are tender and the beef is nicely browned. If you want it crispier, cook a bit longer without the cover. Taste and adjust seasonings.
Remove from heat. Top with cheese or herbs if you like. Serve hot and proud.