Heat oven to 350°F. Heat the olive oil over medium-high heat in a large frying pan until shimmering. Add onion and garlic and season with salt and black pepper. Cook, stirring occasionally, until soft.
Remove the sausage from its casing and add to the onions. Cook until browned, breaking meat up with the back of a spoon. Season again with salt and pepper.
Add tomatoes, oregano, thyme and rice. Reduce heat to medium-low and simmer, stirring frequently to keep rice from sticking. Cook until a spoon leaves a mark on the bottom of the pan and the rice mixture doesn't fall back in on itself. Remove from heat.
Stir in 1 cup each of the mozzarella and parmesan cheese to the sausage mixture. Then stir in the pesto sauce. Taste (yes the rice will still be a little crunchy) to see if the filling needs more salt or pepper. Set filling aside while you prepare the peppers.
Slice each pepper in half vertically keeping the stem intact. Remove the seeds and white ribs of each pepper with a pairing knife. Tap out any remaining seeds. Place the peppers in a 9 x 13-inch baking dish or baking dish large enough to hold them snug so they don't move around.
Fill each pepper half with filling pressing it down to fill all the nooks and crannies. You may have a little filling leftover depending on the size of your peppers but you should use almost all of it.
Pour enough water in the bottom of the baking dish so it comes up about 1/4 inch on the sides of the peppers (I used 2 cups water).
Bake, uncovered 30 minutes. Remove from oven and top with remaining 1/2 cup mozzarella cheese then return to the oven and continue baking until rice and peppers are tender and cheese has browned, another 30-45 minutes.
Remove to a serving dish drizzle with olive oil and sprinkle with basil leaves and more parmesan, if desired. Serve and enjoy!