For the meatballs, fry the onions and garlic in olive oil until they're tender and starting to brown. Remove the pan from the heat and let them cool.
In a large bowl, add the beef, pork, ricotta, egg, panko, Parmigiano-Reggiano, thyme, parsley, soy sauce, salt, fennel seeds, nutmeg, and pepper along with the caramelized onion mixture. Put some gloves on and use your hands to knead the mixture together until all the ingredients are evenly distributed and the meatball mixture is the consistency of bread dough.
Use your hands to roll the mixture into meatballs. I like to make about 16 balls that are about 2-inches in diameter.
Heat a frying pan up over medium-high heat, then add 1 tablespoon of olive oil. Fry the meatballs in batches, gently rolling them around with tongs to maintain their shape until browned on all sides.
Pour off all but 1 tablespoon of oil then sauté the garlic and onions until they are soft. The browned meat juices on the bottom of the pan are where the sauce get's its flavor, so be sure to scrape those up. Add the tomatoes, tomato paste, and salt and bring the mixture to a boil.
Add the meatballs into the tomato sauce along with any collected juices. Turn the heat down to low and gently simmer until the sauce is thick and the meatballs are tender (about 15-20 minutes)
Boil the spaghetti in salted water according to the package directions. Drain the pasta, then toss the pasta together with the sauce. Plate the spaghetti, then top each serving with meatballs, minced parsley, and parmesan cheese.