Prep the peppers. Preheat your oven to 375°F (190°C).
Slice the tops off the bell peppers and remove seeds and membranes. If a pepper won’t stand straight, shave a tiny bit off the bottom to level it without creating a hole.
Par-cook the peppers (optional for softer texture). Place peppers cut-side up in a baking dish, drizzle with a little olive oil, and sprinkle with salt. Cover tightly with foil and bake for 10–12 minutes.
Remove and set aside. If you like firmer peppers, skip this step.
Brown the sausage. Heat 1 tablespoon olive oil in a large skillet over medium-high heat. Add the sausage, breaking it up with a spoon, and cook until browned and cooked through, about 6–8 minutes.
Transfer to a plate, leaving a little fat in the pan.
Sauté onions and garlic. Add the remaining tablespoon of olive oil if needed. Cook the onion with a pinch of salt until translucent, 4–5 minutes. Stir in the garlic and cook 30 seconds until fragrant.
Build the sauce. Add tomato paste and cook, stirring, for 1 minute to deepen the flavor.
Stir in crushed tomatoes, chicken broth, oregano, basil, fennel seeds, and red pepper flakes. Simmer for 5 minutes, then taste and season with salt and pepper.
Combine filling. Return the sausage to the pan. Stir in the cooked rice and half of the mozzarella.
If the mixture looks dry, add a splash more broth. You want it saucy enough to keep the rice moist while baking.
Stuff the peppers. Spoon the filling evenly into each pepper, mounding slightly. Top with the remaining mozzarella and all the Parmesan.
Bake. Pour a thin layer of water or broth (about 1/4 cup) into the bottom of the baking dish to create steam.
Cover with foil and bake for 20 minutes. Uncover and bake another 10–15 minutes, until the peppers are tender and the cheese is golden and bubbly.
Finish and serve. Let the peppers rest 5 minutes so the filling sets. Garnish with chopped parsley or basil.
Serve warm with a simple green salad or crusty bread.