Brown the beef: Heat a large skillet over medium-high heat with a drizzle of oil.
Add the ground beef and cook until browned, breaking it up as it cooks, about 6–8 minutes. Drain excess fat.
Sauté aromatics: Add the diced onion to the skillet and cook 3–4 minutes until softened. Stir in the garlic and cook 30 seconds until fragrant.
Season the meat: Sprinkle in chili powder, cumin, smoked paprika, oregano, black pepper, and salt.
Stir to coat the beef and onions evenly.
Layer the slow cooker: Add the cubed potatoes to the bottom of the slow cooker. Top with the seasoned beef mixture, beans, corn, diced tomatoes, and tomato sauce.
Add liquid: Pour in the beef broth and gently stir to distribute without breaking up the potato layer too much.
Cook low and slow: Cover and cook on Low for 6–7 hours, or on High for 3–4 hours, until the potatoes are tender.
Finish with cheese (optional): Sprinkle shredded cheese over the top during the last 10–15 minutes of cooking, cover, and let it melt.
Taste and adjust: Stir gently and taste for seasoning. Add a pinch more salt, pepper, or chili powder as needed.
Garnish and serve: Spoon into bowls and top with scallions or cilantro.
Serve with crusty bread or a simple green salad.