2 ounces Parmesan cheese, shaved or coarsely shredded
½ cup coarsely chopped fresh basil or 2 tablespoons snipped fresh oregano
In a large pot, cook penne in a large amount of boiling, salted water according to package directions, adding the broccoli florets for the last 3 minutes of cooking. Before draining the pasta, remove and set aside ½ cup of the pasta cooking water. Drain pasta and broccoli and set aside.
Meanwhile, coat a very large nonstick skillet with cooking spray; heat over medium heat. Add onion. Cook for 5 minutes or until tender, stirring occasionally. Transfer onion to a medium bowl and set aside.
Place steak strips in a large bowl. Sprinkle with Italian seasoning, salt and pepper. Toss to coat. Add 2 teaspoons of the olive oil to the skillet used for cooking the onion. Heat over medium-high heat. Add the steak strips. Cook for 3 to 5 minutes or until steak strips are slightly pink in the centers, stirring frequently. Add cooked beef strips to the bowl with the onion.
Add remaining 2 teaspoons olive oil to the same skillet and heat over medium heat. Add garlic; cook and stir for 10 to 20 seconds or until garlic is just starting to brown. Add tomatoes. Cook for 2 to 3 minutes or until tomatoes are softened. Using the back of a wooden spoon, mash tomatoes slightly.
Add drained pasta and broccoli and the reserved pasta cooking water to the skillet with the tomatoes. Cook, uncovered, for 2 to 3 minutes or until heated through. Add the beef and onion mixture, the spinach and half-and-half. Cook and stir for 1 to 2 minutes or until heated through and sauce clings to pasta. Divide pasta mixture among four serving plates. Sprinkle with Parmesan cheese and fresh basil before serving.