Heat olive oil in a large skillet over medium heat. Add onions and garlic, sautéing until fragrant and translucent, about 2 minutes.
Add ground beef to the skillet, breaking it apart with a spatula. Cook until browned, about 5-7 minutes. Drain excess grease if needed.
Stir in diced potatoes, tomatoes, tomato sauce, and beef broth. Add cumin, oregano, chili powder, smoked paprika, salt, and pepper. Stir well and bring to a simmer. Cover and cook for 20 minutes, stirring occasionally, until potatoes are tender.
Add peas and carrots (if using) and cook for an additional 5 minutes. Adjust seasoning if needed. Garnish with fresh cilantro and serve hot with rice, tortillas, or as a filling for tacos and burritos.