Place beef slices between two sheets of plastic wrap and gently pound with a meat mallet until about 1/8 inch thick. Season lightly with salt and pepper.
In a bowl, combine breadcrumbs, Parmesan, minced garlic, parsley, and toasted pine nuts (if using). Drizzle with 1 tablespoon olive oil and mix until it resembles wet sand.
Lay a slice of prosciutto on each pounded beef slice. Spread 1-2 tablespoons of the filling over the prosciutto, leaving a 1/2-inch border. Roll up tightly from the short end, tucking in the sides as you go. Tie each roll with kitchen twine in two places to secure.
Heat 2 tablespoons olive oil in a large Dutch oven or deep skillet over medium-high heat. Sear the braciole on all sides until well browned, about 3-4 minutes per side. Transfer to a plate.
Reduce heat to medium. Add chopped onion and cook until softened, 5 minutes. Stir in minced garlic, cook 1 minute. Pour in red wine, scraping up browned bits, and simmer until reduced by half. Add crushed tomatoes, oregano, red pepper flakes (if using), and season with salt and pepper.
Return the braciole and any accumulated juices to the pot, nestling them into the sauce. Bring to a simmer, then cover and reduce heat to low. Cook for 1.5 to 2 hours, turning the rolls occasionally, until the meat is fork-tender.
Remove twine from the braciole and slice each roll into 1-inch thick pinwheels. Serve over spaghetti or polenta, spoon extra sauce on top, and garnish with fresh basil or parsley.