Heat olive oil in a large skillet or pot over medium heat
Add chopped onion and cook until softened
Add minced garlic and cook briefly
Add ground beef or Italian sausage
Cook until browned, breaking it apart as it cooks
Drain excess fat if needed
Stir in tomato paste
Add crushed tomatoes or tomato sauce
Add tomato puree if desired
Add salt
Add black pepper
Add dried oregano
Add dried basil
Add red pepper flakes if desired
Add a pinch of sugar if needed
Stir well
Bring to a simmer
Reduce heat to low
Cook uncovered or partially covered for 20 to 45 minutes
Stir occasionally
Adjust seasoning to taste
Serve over cooked spaghetti
Top with grated Parmesan cheese if desired
