Combine the ground beef, breadcrumbs, egg, half the chopped onion, half the minced garlic, salt, and black pepper in a large bowl. Mix just until blended, then shape into 12 meatballs.
Add the crushed tomatoes, tomato paste, remaining onion, remaining garlic, oregano, and basil to the slow cooker. Stir to combine.
Place the meatballs into the sauce. Cover and cook on low for 6 hours.
About 15 minutes before serving, cook the spaghetti in a large pot of boiling water according to package directions. Drain well.
Serve the spaghetti topped with meatballs and sauce. Sprinkle with grated Parmesan cheese.