In a large 10 to 12-inch skillet, brown the ground beef. When the beef is about halfway done cooking, add the diced onions. Continue to cook until the beef is browned and the onions are softened. Drain off excess grease.
Add minced garlic and cook 1 to 2 minutes or until fragrant.
Sprinkle in taco seasoning and mix until well combined with the beef. Add the diced tomatoes (including the juice) and water and mix. (*See Note below if you want to cook the spaghetti separately.)
Add the spaghetti. If needed, break the noodles in half so they fit better in the skillet. Make sure the pasta is under the liquid. Allow the mixture to come to a boil over medium heat.
Reduce the heat, cover, and simmer on low for 10 to 12 minutes or until the pasta is cooked through. Stir occasionally, keeping the pasta covered in the liquid as much as possible. If there doesn't seem to be enough liquid as the pasta is still cooking, add 1/4 cup more water and stir well.
Once pasta is cooked through, remove the lid and continue to cook uncovered for a few minutes until most of the excess liquid is evaporated, stirring continually to avoid burning.
Add the shredded cheese and stir until melted.
Serve as is or with additional toppings like shredded cheese, sour cream, fresh cilantro, parsley, or hot sauce. Enjoy!
Notes
*As an alternative, you can cook the pasta separately in a different pot. If you want to go this route, start to heat up a stock pot with water when you start to brown the ground beef. When it boils, add the pasta and cook until al dente. Do not add the water to the ground beef when adding the diced tomatoes. Simply add the tomatoes and keep warm until you add the pasta.