Heat olive oil in a large dutch oven over medium-high heat. Brown ground beef, crumbling while it browns.
Drain off any excess fat and add the taco seasoning, canned diced tomatoes, tomato paste, spaghetti and water. Bring to a boil then cover, reduce heat and simmer until spaghetti is tender, about 15 minutes.
Remove from the heat and stir in cheeses until they are melted.
Serve topped with the fresh diced tomato and cilantro.
1 packet of commercial taco seasoning can be substituted