Mix together in a bowl the ground beef, sausage, Parmesan cheese, bread crumbs, milk, egg, parsley, garlic, pepper, and onion.
Roll into small meatballs, about 1 to 2 teaspoons each.
Heat olive oil in a large skillet over medium-high heat. Brown meatballs in batches and drain on paper towels, wiping out pan between batches and adding more oil as needed.
Melt butter in a large pot over medium heat.
Add carrots, celery, and onion and cook until slightly softened, about 8 minutes. Stir in the meatballs, stock, tomato paste, tomatoes, salt and pepper. Bring to a boil, then reduce heat to low. Simmer for 30 minutes. Skim fat from surface.
Bring a large pot of salted water to a boil.
Add pasta and cook until al dente, 8 to 10 minutes.