Dice the onion and mince the garlic, setting them aside. Peel and cut the sweet potatoes into 1/2-inch cubes—this uniform size ensures even cooking. Measure out all your spices (chili powder, cumin, smoked paprika, salt, and pepper) and combine them mentally or in a small bowl for easy access during cooking. Having everything prepped and ready will let you focus on building flavor without interruption.
Heat the olive oil in a large skillet over medium-high heat. Add the ground beef and diced onion, breaking up the meat with a spoon as it cooks until the beef is fully browned and the onion is softened, about 5-7 minutes. Add the garlic and cook for 1 minute to release its aromatics. Then add 3 tsp chili powder, 1 tsp cumin, 1/2 tsp smoked paprika, salt, and pepper, stirring well to coat the meat. I like to add the spices to already-browned meat so they bloom in the rendered fat—this gives much deeper flavor than adding them to raw meat.
Using a slotted spoon, transfer the cooked beef mixture to a plate, leaving behind as much of the flavorful oil and browned bits as possible in the skillet. Add the diced sweet potatoes directly to the skillet, stirring to coat them in the remaining oil and browned bits on the bottom. This technique, called deglazing, extracts all that caramelized flavor into your vegetables. Let the sweet potatoes toast in the skillet for 2-3 minutes, stirring occasionally.
Add the diced tomatoes (with their liquid), green chiles, water, 2 tsp chili powder, 1 tsp cumin, salt, and pepper to the skillet with the sweet potatoes. Stir well to combine everything evenly. Bring the mixture to a simmer, then reduce heat to medium-low, cover with a lid, and cook for 20 minutes, stirring occasionally, until the sweet potatoes are completely tender when pierced with a fork.
Return the cooked beef mixture from Step 2 to the skillet, stirring it in with the sweet potatoes and sauce until everything is evenly combined. Stir in the lime juice, which brightens all the warm spices beautifully. Taste and adjust seasoning with salt and pepper as needed. Sprinkle the shredded cheddar cheese evenly over the top, cover the skillet, and let it sit for 1-2 minutes until the cheese is melted. I always taste before adding cheese because the cheddar adds its own salty richness—you might need less salt than you think.
Remove the skillet from heat and divide the beef and sweet potato skillet into serving bowls or plates. Top each portion generously with fresh chopped cilantro for brightness and a pop of color. Serve immediately while everything is hot.