Make the meatballs: Combine all the ingredients except the safflower oil in a large bowl and knead well with your hands until completely combined. Form into 24 equal-sized balls—roughly the size of a walnut.
Heat a large frying pan over medium heat and add the oil. Heat the oil for 3 to 4 minutes and add the meatballs in a single layer. Do not crowd the pan—fry the meatballs in batches if necessary. Fry for 3 to 4 minutes and then turn them over and fry the other side. Remove the meatballs with a slotted spoon and set aside.
Make the sauce: Drain all but 1 tablespoon (15 ml) of oil from the frying pan and add the butter. When the butter melts, add the flour and, using a whisk, mix well for 1 to 2 minutes. The mixture will bubble and begin to look light brown.
Add the vegetable stock slowly, whisking the entire time in order to prevent lumps. Stir in the cream and whisk very well.
Add the onion powder, salt, pepper and the thyme sprig. Stir in the marsala wine, if using. Reduce heat to a simmer and cook for 4 to 5 minutes, or until the mixture begins to thicken.
Return the meatballs to the pan and simmer for 3 to 4 minutes, uncovered. Add the fresh parsley and serve.