In a large skillet, heat the olive oil over medium heat. Add the diced onion and cook until softened, about 3-4 minutes.
Add the minced garlic and ground beef to the skillet. Cook until the beef is browned and cooked through, breaking it apart with a spatula, about 5-7 minutes. Drain any excess fat if necessary.
Stir in the diced sweet potatoes, smoked paprika, ground cumin, salt, and pepper. Cook for about 10 minutes, stirring occasionally, until the sweet potatoes are tender.
Add the black beans, corn, and diced tomatoes to the skillet. Stir well to combine and cook for an additional 5 minutes until everything is heated through.
Remove from heat and stir in the chopped cilantro if using. Serve hot, topped with diced avocado and lime wedges on the side.