Preheat oven to 350°F. Cut flank steak almost in half horizontally without cutting all the way through. Open steak to form a rectangle.
Mix basil, garlic, pepper and salt. Reserve 1 teaspoon for sauce. Place 1 tablespoon of the seasoning mixture, spinach, pine nuts, bread crumbs, Parmesan cheese and 2 tablespoons of the oil in food processor; cover. Pulse to make a coarse mixture. Spread over steak. Roll steak tightly into a log shape. Tie with string in several places to close securely. Sprinkle with remaining seasoning mixture.
Heat 1 tablespoon of the remaining oil in large skillet on medium-high heat. Add beef roll; cook on all sides until browned. Transfer beef roll to baking pan; cover. Bake 1 hour.
Warm skillet on medium heat. Pour wine into skillet, scraping bottom of pan to loosen browned bits. Add remaining 1 tablespoon oil, reserved 1 teaspoon seasoning mixture and onion; cook and stir 5 minutes. Set aside.
Remove beef roll from oven; cover with foil. Let stand 10 minutes. Add tomatoes to skillet; cook 10 minutes on medium heat, stirring occasionally. Slice beef roll into 1/2-inch thick slices. Serve with tomato sauce.