In a large skillet, cook the ground beef over medium-high heat. When the beef is nearly cooked, add the chopped onions and continue to cook until the beef is fully cooked through and the onions are tender.
Add the taco seasoning and the salsa to the skillet and mix well. Pour the water, mix it, and spread it out as a single layer.
Cook the spaghetti:
Place the spaghetti on top and bring it to a boil. Once it comes to a boil, reduce the heat to low, cover the skillet with a lid, and simmer (undisturbed) for 15 minutes.
At this point, the pasta will have absorbed the liquid and will be cooked. Open the lid and toss the spaghetti with kitchen tongs. Top with the shredded cheese and mix to melt it while incorporating it with the taco spaghetti.