Boil a large pot of salted water. Add the spaghetti and cook according to the package instructions until al dente. Drain and set aside.
In a large skillet over medium heat, add the ground beef. Cook until browned, breaking it apart with a spatula as it cooks, about 5-7 minutes. Drain excess fat if necessary.
Add the chopped onion and minced garlic to the skillet with the beef. Sauté for 2-3 minutes until the onions are translucent. Then add the diced bell peppers and corn, cooking for an additional 3-4 minutes until softened.
Stir in the diced tomatoes with green chilies, chili powder, cumin, smoked paprika, salt, and pepper. Bring the mixture to a simmer and allow it to cook for about 5-7 minutes to combine flavors.
Add the cooked spaghetti to the skillet and toss everything together until the pasta is well coated with the sauce.
Sprinkle the shredded cheddar cheese on top of the spaghetti. Cover the skillet and let it cook for another 2-3 minutes on low heat until the cheese is melted.
Serve hot, garnished with fresh cilantro if desired.