Add the raisins, chopped parsley, grated cheese, minced garlic, bread crumbs, pine nuts, and two tablespoons of olive oil to a bowl, then mix to combine.
If the flank steak is very thick, use a knife to butterfly it to make it about ½ inch thick.
Pound the flank steak out with a meat mallet to tenderize and flatten.
Sprinkle both sides with salt and pepper, then spread the breadcrumb mixture out evenly over the flank steak, leaving a ¼ inch border on all sides.
Starting with a short end, roll the meat up, being sure to keep as much filling inside as possible.
Use some butchers twine to tie it up about 3-5 times around to keep the roll intact.
Heat the remaining two tablespoons of olive oil in a medium-large saucepan.
When the oil is shimmering hot, add the braciole and brown the meat on all sides, about 2 minutes per side.
Remove the braciole from the pan and lower the heat. Add in the minced onion and sliced garlic and cook until softened, about 2-3 minutes.
Add the red wine and use a wooden spoon to scrape up any browned bits on the bottom of the pot.
Add the tomatoes and bay leaf, then season with salt and pepper. Bring to a boil, then place the braciole back in the pan and spoon some sauce over top.
Turn the heat to low, cover and let simmer for about 3 hours, rotating the braciole every 20-30 minutes.
Use a fork to check to see if the meat is tender, then remove the braciole from the sauce and let it rest for about 20 minutes.
Slice the braciole into rounds and serve with the sauce.