Cook the spaghetti according to the package directions, then drain and set aside.
In a large bowl, combine onion, bread crumbs, egg, Parmesan, milk, garlic powder, and onion powder. Mix well.
Add the ground beef and mix gently until just combined. Avoid overmixing to keep the meatballs tender.
With wet hands, shape the mixture into 1 1/2-inch balls.
Preheat your grill to medium heat and grease the grates. Grill the meatballs, covered, for about 10 minutes or until they’re browned and cooked through, turning occasionally.
In an 11x7 disposable foil pan, combine chopped tomatoes, minced garlic, olive oil, sugar, salt, oregano, and pepper. Place the pan on the grill.
Cook, stirring occasionally, until the tomatoes break down and the sauce begins to simmer (about 10 minutes).
Stir fresh basil into the sauce just before serving.
Plate the spaghetti, top with grilled meatballs and the tomato sauce, and garnish with shredded Parmesan.