In a large pot or Dutch oven, heat the olive oil over medium heat. Add the Italian sausage and cook, breaking it apart with a spatula until browned (about 4-5 minutes).
Add the diced onion and bell pepper to the pot. Sauté for 3-4 minutes until the onion becomes translucent.
Stir in the minced garlic and cook for another minute, until fragrant.
Pour in the diced tomatoes (with juices), vegetable broth, and season with Italian seasoning, red pepper flakes, salt, and pepper. Bring to a simmer.
Once simmering, add the penne pasta. Stir to combine, reduce heat to medium-low, cover, and let cook for 12-15 minutes, stirring occasionally, until the pasta is cooked al dente and most of the liquid has absorbed.
Remove from heat and fold in the shredded mozzarella and Parmesan cheese until melted and well incorporated. Taste and adjust seasoning if necessary.
Let the pasta sit for a few minutes to thicken before serving.
Notes
Serve in bowls garnished with fresh basil and extra Parmesan cheese.