In a large pot over medium-high heat, cook the ground beef along with the chopped onion and minced garlic. Stir occasionally until the beef is thoroughly browned, about 5 to 6 minutes. Add the water, diced tomatoes, and taco seasoning. Cover the pot and bring the mixture to a boil.
Break the spaghetti in half and add it to the boiling sauce. Lower the heat to medium, cover, and let it simmer until the pasta becomes tender, approximately 12 to 14 minutes.
Take the pot off the heat and incorporate the Velveeta and shredded cheddar. Stir until the cheese is fully melted and creamy. Mix in the chopped cilantro. Serve with a sprinkle of additional cilantro and a dollop of sour cream, if desired.