Preheat oven to 400 degrees F (200 degrees C). Spread neck bones and onions out in the bottom of a roasting pan.
Roast in the preheated oven until bones are browned and caramelized, 45 minutes.
Combine beef and onions, tomato sauce, and water in a large pot; bring to a simmer, reduce heat to low, and simmer, skimming fat and adding water as needed, until meat is falling off the bones, about 6 hours.
Stir parsley, oregano, red pepper flakes, salt, and ground black pepper into tomato sauce mixture; simmer until flavors combine, 10 to 15 minutes.
Bring a large pot of lightly salted water to a boil; add penne and cook, stirring occasionally, until tender yet firm to the bite, about 11 minutes. Drain.
Stir penne and 1/2 of the sauce together in a bowl with some of the Parmesan cheese. Spoon into bowls and top with remaining sauce and Parmesan cheese.