Combine meats, onion, egg, bread crumbs, salt and pepper in a large bowl. Mix gently with your hands until well-blended (do not overmix). Shape mixture into 8 meatballs, each about 2 1/2 inches in diameter.
Warm olive oil in a large skillet over medium-high heat. Cook meatballs until brown all over, 6 to 8 minutes, turning carefully with tongs. Remove skillet from heat and carefully pour pasta sauce over meatballs. Place skillet over medium heat and bring to a simmer. Cook gently until there is no trace of pink in center of meatballs, about 20 minutes.
Cook spaghetti according to package directions. Drain well and divide among 4 shallow pasta bowls or plates. Top each portion with 2 meatballs and ladle on sauce. If desired, top with grated Parmesan.