In a bowl, mix ground meat with egg, breadcrumbs, milk, garlic, parsley, salt, and pepper. Form into small balls and brown them in a skillet with olive oil. Set aside.
Dice tomatoes. In a large pan, sauté finely chopped onion, carrots, and garlic in olive oil until soft. Add tomatoes, sugar (if needed), oregano or basil, salt, and pepper. Simmer for 45–60 minutes, stirring occasionally. Blend for a smoother texture if desired.
Add meatballs to the sauce, cover, and cook on low for 15 minutes until done. Boil spaghetti per package instructions. Drain and reserve a bit of cooking water.
Serve pasta topped with meatballs and sauce. Garnish with grated Parmesan if desired.