In a large skillet with high sides, brown ground beef, breaking apart as you go. Drain and run hot water over meat {optional}. Wipe out hot skillet and place back on heat.
Sauté onions, garlic and carrot in olive oil until tender, 5-7 minutes. Place meat back into pan with cans of tomato sauce, diced tomatoes, tomato paste, water and spices.
Stir, reduce temperature to medium-low and cover. Cook, stirring occasionally for 1-4 hours. If sauce seems to be getting too thick, add in more water.
Once ready to serve, bring large pot of water to boil. Salt water and cook pasta according to package direction. Drain, toss with sauce and serve with parmesan cheese if desired.