Preheat oven to 450 degrees F. (Please see note #1 regarding oven temperature if you are using a dark colored pan for the meatballs.)
In a large bowl, add ground beef, bread crumbs, buttermilk, Parmesan, egg, garlic, salt, oregano, basil, and fennel seeds. Use a folding motion to combine until all ingredients are thoroughly distributed throughout the ground beef.
Form meatballs about 1 ¾ inch in diameter, using about 3 Tablespoons of meat mixture per meatball. I usually get 15 meatballs per batch.
Place meatballs onto a large roasting pan. Put meatballs in the oven and roast for 15 - 20 minutes or until meatballs are browned and thoroughly cooked.
While the meatballs are roasting, prepare the tomato sauce. Heat the butter and olive oil over medium heat in large sauté pan. Add the onion pieces to the pan; leaving the root end intact makes it easy to remove the onion later.
When the butter and oil are hot, add tomato sauce, and salt. Stir well and bring to a simmer. Simmer uncovered for about 10 minutes. Taste the sauce and correct for salt if needed. (I also might add a pinch of sugar, if the tomato sauce is tart.) Remove onion and discard (or refrigerate and save for another use).
Transfer the cooked meatballs to the sauce. Cook uncovered at a bare simmer for about 10 minutes.
Meanwhile, cook the spaghetti in salted water until al dente according to package directions. Drain pasta.
Combine spaghetti with sauce and meatballs. Please note that a really large sauté pan is required to accommodate everything. You may need to use the pasta cooking pot instead. Toss spaghetti to coat with sauce.
Serve spaghetti topped with meatballs. Sprinkle with freshly shredded parmesan.