Heat a 12.5-inch skillet (or larger sauté pan) over medium to medium-high heat. Add the sausage and cook, breaking it into small bite-sized pieces, until browned and cooked through, 6 to 8 minutes. If the sausage is very lean, add the olive oil first. If there is excess fat in the skillet, spoon off all but about 1 tablespoon.
Add the onion and peppers. Cook, stirring often, until softened and starting to pick up a little colour, 5 to 6 minutes.
Stir in the garlic, oregano, basil, and chili flakes, if using. Cook for 30 seconds, just until fragrant.
Add the tomato paste and cook, stirring constantly, for 1 minute, until slightly darkened.
Push the sausage mixture to one side of the skillet, then add the tomatoes to the empty space. Cook for 1 to 2 minutes, stirring occasionally, until they start to soften. Stir the tomatoes into the sausage mixture and continue cooking for another 2 minutes until they release their juices.
Stir in the orzo and cook for 30 seconds, coating it well in the sausage fat and tomato mixture.
Pour in the chicken broth. Add the salt and pepper and stir well, scraping up anything stuck to the bottom of the skillet. Bring to a lively simmer.
Reduce the heat to medium-low, cover, and cook for 8 minutes, stirring once or twice during cooking to help prevent sticking.
Uncover and continue cooking for 3 to 5 minutes, stirring more frequently, until the orzo is al dente and the mixture looks loose and creamy. It should still look a little saucy at this stage. Add a splash more broth if needed.
Lower the heat to the lowest setting. Stir in the heavy cream, then the Parmesan, until smooth and glossy. Stir in the basil or parsley.
Taste and adjust with more salt and pepper as needed. Let the skillet sit for 2 minutes before serving. The sauce will thicken slightly as it stands.
Serve with extra Parmesan, more herbs and black pepper.
💬Tried this recipe? We'd really appreciate a rating and quick review! It helps more home cooks find the recipe, and we love hearing what you think.